gatein SVN: r7304 - in portal/branches/dom/web: eXoResources/src/main/webapp/javascript/eXo/webui and 3 other directories.
by do-not-reply@jboss.org
Author: phuong_vu
Date: 2011-09-05 08:49:25 -0400 (Mon, 05 Sep 2011)
New Revision: 7304
Modified:
portal/branches/dom/web/eXoResources/src/main/webapp/javascript/eXo/gadget/UIGadget.js
portal/branches/dom/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIDashboard.js
portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIDashboard/Stylesheet.css
portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIGadget/Stylesheet.css
portal/branches/dom/web/portal/src/main/webapp/groovy/portal/webui/application/UIGadget.gtmpl
Log:
[DOM] UIGadget optimization
Modified: portal/branches/dom/web/eXoResources/src/main/webapp/javascript/eXo/gadget/UIGadget.js
===================================================================
--- portal/branches/dom/web/eXoResources/src/main/webapp/javascript/eXo/gadget/UIGadget.js 2011-09-05 12:46:25 UTC (rev 7303)
+++ portal/branches/dom/web/eXoResources/src/main/webapp/javascript/eXo/gadget/UIGadget.js 2011-09-05 12:49:25 UTC (rev 7304)
@@ -99,7 +99,7 @@
} else {
var gadgetControl = eXo.core.DOMUtil.findFirstDescendantByClass(uiGadget, "div", "GadgetControl");
gadgetControl.style.display = "block";
- var gadgetTitle = eXo.core.DOMUtil.findFirstDescendantByClass(gadgetControl, "div", "GadgetTitle") ;
+ var gadgetTitle = eXo.core.DOMUtil.findFirstDescendantByClass(gadgetControl, "span", "GadgetTitle") ;
gadgetTitle.style.display = "block";
if (metadata && metadata.modulePrefs.title != null && metadata.modulePrefs.title.length > 0) gadgetTitle.innerHTML = metadata.modulePrefs.title;
}
Modified: portal/branches/dom/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIDashboard.js
===================================================================
--- portal/branches/dom/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIDashboard.js 2011-09-05 12:46:25 UTC (rev 7303)
+++ portal/branches/dom/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIDashboard.js 2011-09-05 12:49:25 UTC (rev 7304)
@@ -310,7 +310,7 @@
if (iframe) {
iframe.style.width = "99.9%" ;
}
- var minimizeButton = DOMUtil.findFirstDescendantByClass(gadgetControls[j], "div", "MinimizeAction") ;
+ var minimizeButton = DOMUtil.findFirstDescendantByClass(gadgetControls[j], "span", "MinimizeAction") ;
if(canEdit) {
eXo.webui.UIDashboard.init(gadgetControls[j], uiGadget);
Modified: portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIDashboard/Stylesheet.css
===================================================================
--- portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIDashboard/Stylesheet.css 2011-09-05 12:46:25 UTC (rev 7303)
+++ portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIDashboard/Stylesheet.css 2011-09-05 12:49:25 UTC (rev 7304)
@@ -43,20 +43,6 @@
height: 100%;
}
-.UIDashboard .GadgetTitle {
- float: left; /* orientation=lt */
- float: right; /* orientation=rt */
- padding: 0px 5px;
- color: #5b5b5b;
- font-weight: normal;
- cursor: move;
- overflow: hidden;
- white-space: nowrap;
- width: 195px;
- margin-right: 75px !important; /* orientation=lt */
- margin: 0px 0px 0px 75px !important; /* orientation=rt */
-}
-
.UIDashboard .UIDashboardEditForm {
background: white;
padding: 10px;
@@ -89,11 +75,11 @@
margin: 4px 0px 0px 2px;/* orientation=rt */
}
-.UITabPaneDashboard .NormalTab {
+.UITabPaneDashboard .NormalTab {
background-color:#E6E6E6;
}
-.UITabPaneDashboard .SelectedTab {
+.UITabPaneDashboard .SelectedTab {
background-color:#fff;
}
@@ -107,13 +93,13 @@
}
-.UITabPaneDashboard .UITab .Tablabel ,.UITabPaneDashboard span {
+.UITabPaneDashboard .UITab .Tablabel, .UITabPaneDashboard span {
font-weight:normal;
line-height: 14px;
}
-.UITabPaneDashboard .UITab .CloseIcon {
+.UITabPaneDashboard .UITab .CloseIcon {
background: url('background/IconClose.gif') no-repeat center top;
width: 14px;
height: 13px;
@@ -124,11 +110,11 @@
vertical-align: middle;
}
-.UITabPaneDashboard .SelectedTab .CloseIcon {
+.UITabPaneDashboard .SelectedTab .CloseIcon {
margin:0;
}
-.UITabPaneDashboard .AddDashboard {
+.UITabPaneDashboard .AddDashboard {
background: url('background/AddDashboard.gif') no-repeat center center;
width: 34px;
height: 32px;
@@ -167,9 +153,6 @@
width: 20px;
}
-.UIDashboardSelectContainer .DashboardItemContainer {
-}
-
.UIDashboardSelectContainer .DashboardItemContainer .InputContainer {
padding: 4px 0px 4px 10px;
_padding: 0px 10px;
@@ -241,10 +224,6 @@
border: 1px solid #b8babf;
}
-.UIDashboardSelectContainer .GadgetCategory .GadgetTab .RightCategoryTitleBar {
-
-}
-
.UIDashboardSelectContainer .GadgetCategory .GadgetTab .MiddleCategoryTitleBar {
height: 23px;
padding: 0px 8px;
@@ -297,60 +276,6 @@
padding: 5px; color: #111;
}
-.UIDashboard .UIGadget {
- padding: 5px 0px;
-}
-
-.UIDashboard .UIGadget .GadgetControl {
- float: none;
- padding: 0px;
- height: auto; width: auto;
-}
-
-.UIDashboard .UIGadget .GadgetControl .LeftControlBar {
- background: none;
- padding: 0px;
-}
-
-.UIDashboard .UIGadget .GadgetControl .RightControlBar {
- background: none;
- padding: 0px;
-}
-
-.UIDashboard .UIGadget .GadgetControl .CenterControlBar {
- background: url('background/BgTitleGadget.gif') repeat-x left top;
- height: 23px;
- line-height: 23px;
- padding: 0 9px;
- border: 1px solid #dbdbdb;
- border-top: none;
- cursor: move;
-}
-
-.UIDashboard .UIGadget .GadgetControl .GadgetDragHandleArea {
- display: none;
-}
-
-.UIDashboard .UIGadget .TLGadget {
- display: none;
-}
-
-.UIDashboard .UIGadget .MLGadget {
- background: #f2f2f3;
- border: 1px solid #c3c3c3;
- border-top: none;
- padding: 3px;
-}
-
-.UIDashboard .UIGadget .MRGadget {
- background: white;
- padding: 0 0 1px;
-}
-
-.UIDashboard .UIGadget .BLGadget {
- display: none;
-}
-
/*------------------UIDashboardContainer----------------*/
.UIDashboardContainer {
@@ -361,8 +286,8 @@
.UIDashboardContainer .GadgetContainer {
overflow: auto;
height: 100%;
- min-height: 400px;
- _height: 400px;
+ min-height: 400px;
+ _height: 400px;
}
.UIDashboardContainer .GadgetContainer .ContainerControlBarL {
@@ -393,19 +318,13 @@
text-decoration: none;
}
-.GadgetContainer .UIColumns {
-}
-
-.GadgetContainer .UIColumn {
+.UIDashboardContainer .GadgetContainer .UIColumn {
float: left; /* orientation=lt */
float: right; /* orientation=rt */
width: 325px;
padding: 2px;
}
-.UIDashboardContainer .UIGadget {
- width: 320px;
-}
.UIDashboardContainer .UIGadget .GadgetMenuBar{
text-align: left; /* orientation=lt */
text-align: right; /* orientation=rt */
@@ -509,6 +428,7 @@
#UIAddGadgetPopup .PopupTitle {
margin-left: 22px;
}
+
/*----------------------Maximized-------------------*/
.Maximized .UIGadget {
@@ -516,59 +436,7 @@
margin: 0px;
}
-.Maximized .UIGadget .GadgetControl {
- float: none;
- padding: 0px;
- height: auto; width: auto;
-}
-
-.Maximized .UIGadget .GadgetControl .LeftControlBar {
- background: none;
- padding: 0px;
-}
-
-.Maximized .UIGadget .GadgetControl .RightControlBar {
- background: none;
- padding: 0px;
-}
-
-.Maximized .UIGadget .GadgetControl .CenterControlBar {
- background: url('background/BgTitleGadget.gif') repeat-x left top;
- height: 23px;
- line-height: 23px;
- padding: 0 9px;
- border: 1px solid #dbdbdb;
- border-top: none;
-}
-
-.Maximized .UIGadget .GadgetControl .GadgetDragHandleArea {
- display: none;
-}
-
-.Maximized .UIGadget .TLGadget {
- display: none;
-}
-
-.Maximized .UIGadget .MLGadget {
- background: #f2f2f3;
- border: 1px solid #c3c3c3;
- border-top: none;
- padding: 3px;
-}
-
-.Maximized .UIGadget .MRGadget {
- background: white;
- padding: 0 0 1px;
-}
-
-.Maximized .UIGadget .BLGadget {
- display: none;
-}
-
.Maximized .GadgetTitle {
- float: left; /* orientation=lt */
- float: right; /* orientation=rt */
- padding: 0px 5px;
color: #5b5b5b;
font-weight: bold;
cursor: move;
Modified: portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIGadget/Stylesheet.css
===================================================================
--- portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIGadget/Stylesheet.css 2011-09-05 12:46:25 UTC (rev 7303)
+++ portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIGadget/Stylesheet.css 2011-09-05 12:49:25 UTC (rev 7304)
@@ -36,38 +36,30 @@
}
.UIGadget .GadgetControl {
- float: right; /* orientation=lt */
- float: left; /* orientation=rt */
- width: 100px; height: 20px;
- padding-right: 6px; /* orientation=lt */
- padding-left: 6px; /* orientation=rt */
+ background: url('/eXoResources/skin/DefaultSkin/portal/webui/component/view/UIDashboard/background/BgTitleGadget.gif') repeat-x left top;
+ height: 23px;
+ line-height: 23px;
+ padding: 0 9px;
+ border: 1px solid #dbdbdb;
+ border-top: none;
+ cursor: move;
+ text-align: left;
}
-.UIGadget .GadgetControl .LeftControlBar {
- background: url('background/Gadget.png') no-repeat left top; /* orientation=lt */
- background: url('background/Gadget-rt.png') no-repeat right top; /* orientation=rt */
- padding-left: 23px; /* orientation=lt */
- padding-right: 23px; /* orientation=rt */
+.UIGadget .GadgetTitle {
+ padding: 0px 5px;
+ color: #5b5b5b;
+ font-weight: normal;
+ cursor: move;
+ overflow: hidden;
+ white-space: nowrap;
+ width: auto;
+ margin-right: 75px !important; /* orientation=lt */
+ margin: 0px 0px 0px 75px !important; /* orientation=rt */
}
-.UIGadget .GadgetControl .RightControlBar{
- background: url('background/Gadget.png') no-repeat right top; /* orientation=lt */
- background: url('background/Gadget-rt.png') no-repeat left top; /* orientation=rt */
- padding-right: 4px; /* orientation=lt */
- padding-left: 4px; /* orientation=rt */
-}
-
-.UIGadget .GadgetControl .CenterControlBar {
- height: 19px;
- background: url('background/Gadget.png') repeat-x center -19px;
-}
-
.UIGadget .GadgetControl .GadgetDragHandleArea {
- float: right; /* orientation=lt */
- float: left; /* orientation=rt */
- width: 13px; height: 13px;
cursor: move;
- margin: 3px 3px 0px 3px;
background: url('background/Gadget.png') left -78px;
}
@@ -102,50 +94,13 @@
background-position: 65px top;
}
-.UIGadget .TLGadget {
- background: url('background/Gadget.png') no-repeat left -38px;
- padding-left: 8px;
+.UIGadget .GadgetApplication {
+ background: #f2f2f3;
+ border: 1px solid #c3c3c3;
+ border-top: none;
+ padding: 3px;
}
-.UIGadget .TRGadget {
- background: url('background/Gadget.png') no-repeat right -38px;
- padding-right: 8px;
-}
-
-.UIGadget .TCGadget {
- background: url('background/Gadget.png') repeat-x center -43px;
- height: 5px;
-}
-
-.UIGadget .MLGadget {
- background: url('background/MiddleGadget.png') repeat-y left;
- padding-left: 6px;
-}
-
-.UIGadget .MRGadget {
- background: url('background/MiddleGadget.png') repeat-y right;
- padding-right: 6px;
-}
-
-.UIGadget .MCGadget {
- background: white;
-}
-
-.UIGadget .BLGadget {
- background: url('background/Gadget.png') no-repeat left -58px;
- padding-left: 9px;
-}
-
-.UIGadget .BRGadget {
- background: url('background/Gadget.png') no-repeat right -68px;
- padding-right: 9px;
-}
-
-.UIGadget .BCGadget {
- background: url('background/Gadget.png') repeat-x center -48px;
- height: 10px;
-}
-
.UIGadget iframe {
width: 299px;
}
Modified: portal/branches/dom/web/portal/src/main/webapp/groovy/portal/webui/application/UIGadget.gtmpl
===================================================================
--- portal/branches/dom/web/portal/src/main/webapp/groovy/portal/webui/application/UIGadget.gtmpl 2011-09-05 12:46:25 UTC (rev 7303)
+++ portal/branches/dom/web/portal/src/main/webapp/groovy/portal/webui/application/UIGadget.gtmpl 2011-09-05 12:49:25 UTC (rev 7304)
@@ -35,47 +35,24 @@
String unmaxiTitle = _ctx.appRes("UIGadget.tooltip.Unmaximize");
%>
<div class="UIGadget" id="$id" style="left: $posX; top: $posY; z-Index: $zIndex; width: 100%" >
- <div class="GadgetControl" style="visibility: visible;">
- <div class="LeftControlBar">
- <div class="RightControlBar">
- <div class="CenterControlBar ClearFix">
- <div class="CloseGadget IconControl" onclick="eXo.gadget.UIGadget.deleteGadget(this)" onmousedown="event.cancelBubble=true;" title="<%=_ctx.appRes("UIGadget.tooltip.deleteGadget")%>"><span></span></div>
- <div class="<%=view.equals(uicomponent.HOME_VIEW) ? "MaximizeGadget" : "RestoreGadget";%> IconControl"
- onclick="eXo.gadget.UIGadget.maximizeGadget(this)" onmousedown="event.cancelBubble=true;"
- title="<%=view.equals(uicomponent.HOME_VIEW) ? maxiTitle : unmaxiTitle%>"><span></span></div>
- <div class="<%=isMini ? "RestoreGadget": "MinimizeGadget";%> MinimizeAction IconControl"
- onclick="eXo.gadget.UIGadget.minimizeGadget(this)" onmousedown="event.cancelBubble=true;" style="display:none;"
- title="<%=isMini ? unminiTitle : miniTitle%>" miniTitle="$miniTitle" unminiTitle="$unminiTitle"><span></span></div>
- <% if(uicomponent.isSettingUserPref()) { %>
- <div class="EditGadget IconControl" onclick="eXo.gadget.UIGadget.editGadget('$id')" onmousedown="event.cancelBubble=true;" title="<%=_ctx.appRes("UIGadget.tooltip.editGadget")%>"><span></span></div>
- <% } %>
- <div class="GadgetDragHandleArea"><span></span></div>
- <div class="GadgetTitle" style="display: <%=isLossData ? "block" : "none"; %> ; float: none; width: auto; margin-right: 75px"><%= uicomponent.getApplicationName() %></div>
- </div>
- </div>
- </div>
+ <div class="GadgetControl ClearFix" style="visibility: visible;">
+ <span class="CloseGadget IconControl" onclick="eXo.gadget.UIGadget.deleteGadget(this)" onmousedown="event.cancelBubble=true;" title="<%=_ctx.appRes("UIGadget.tooltip.deleteGadget")%>"></span>
+ <span class="<%=view.equals(uicomponent.HOME_VIEW) ? "MaximizeGadget" : "RestoreGadget";%> IconControl"
+ onclick="eXo.gadget.UIGadget.maximizeGadget(this)" onmousedown="event.cancelBubble=true;"
+ title="<%=view.equals(uicomponent.HOME_VIEW) ? maxiTitle : unmaxiTitle%>"></span>
+ <span class="<%=isMini ? "RestoreGadget": "MinimizeGadget";%> MinimizeAction IconControl"
+ onclick="eXo.gadget.UIGadget.minimizeGadget(this)" onmousedown="event.cancelBubble=true;" style="display:none;"
+ title="<%=isMini ? unminiTitle : miniTitle%>" miniTitle="$miniTitle" unminiTitle="$unminiTitle"></span>
+ <% if(uicomponent.isSettingUserPref()) { %>
+ <span class="EditGadget IconControl" onclick="eXo.gadget.UIGadget.editGadget('$id')" onmousedown="event.cancelBubble=true;" title="<%=_ctx.appRes("UIGadget.tooltip.editGadget")%>"></span>
+ <% } %>
+ <span class="GadgetDragHandleArea" style="display: none;"></span>
+ <span class="GadgetTitle" style="display: <%=isLossData ? "block" : "none"; %> ; float: none; width: auto; margin-right: 75px"><%= uicomponent.getApplicationName() %></span>
</div>
- <div class="ClearBoth"><span></span></div>
- <div class="GadgetApplication" style="display:<%= Boolean.parseBoolean(uicomponent.getProperties().get("minimized")) ? "none": "block"; %>">
- <div class="TLGadget">
- <div class="TRGadget">
- <div class="TCGadget"><span></span></div>
- </div>
- </div>
- <div class="MLGadget">
- <div class="MRGadget">
+ <div class="GadgetApplication" id="content-$id" style="display:<%= Boolean.parseBoolean(uicomponent.getProperties().get("minimized")) ? "none": "block"; %>">
<% if(isLossData) {%>
- <div id="content-$id" class="MCGadget"><%=_ctx.appRes("UIGadget.message.isLossData")%></div>
- <% } else {%>
- <div id="content-$id" class="MCGadget"></div>
- <% } %>
- </div>
- </div>
- <div class="BLGadget">
- <div class="BRGadget">
- <div class="BCGadget"><span></span></div>
- </div>
- </div>
+ <%=_ctx.appRes("UIGadget.message.isLossData")%>
+ <% } %>
</div>
<div class="UIMask" style="display: none; border:solid 1px red"><span></span></div>
-</div>
\ No newline at end of file
+</div>
13 years, 3 months
gatein SVN: r7303 - portal/branches/dom/web/portal/src/main/webapp/groovy/portal/webui/page.
by do-not-reply@jboss.org
Author: phuong_vu
Date: 2011-09-05 08:46:25 -0400 (Mon, 05 Sep 2011)
New Revision: 7303
Modified:
portal/branches/dom/web/portal/src/main/webapp/groovy/portal/webui/page/UISiteBody.gtmpl
Log:
[DOM] UISiteBody optimization
Modified: portal/branches/dom/web/portal/src/main/webapp/groovy/portal/webui/page/UISiteBody.gtmpl
===================================================================
--- portal/branches/dom/web/portal/src/main/webapp/groovy/portal/webui/page/UISiteBody.gtmpl 2011-09-05 12:44:03 UTC (rev 7302)
+++ portal/branches/dom/web/portal/src/main/webapp/groovy/portal/webui/page/UISiteBody.gtmpl 2011-09-05 12:46:25 UTC (rev 7303)
@@ -3,68 +3,30 @@
UIPortalApplication uiPortalApp = _ctx.getRequestContext().getUIApplication();
int portalMode = uiPortalApp.getModeState();
%>
-<div class="UISiteBody" id="${uicomponent.id}">
- <div class="UIComponent UIComponentBlock">
-
+<div class="UISiteBody" id="${uicomponent.id}">
+ <div class="UIComponent UIComponentBlock">
<%if(portalMode == UIPortalApplication.APP_BLOCK_EDIT_MODE || portalMode == UIPortalApplication.CONTAINER_BLOCK_EDIT_MODE) {%>
- <div class="LAYOUT-BLOCK LAYOUT-SITEBODY DragControlArea">
- <div class="PageLayoutDecorator">
- <%/*Begin Top Decorator*/%>
- <div class="TopLeftPage">
- <div class="TopRightPage">
- <div class="TopCenterPage">
- <%=_ctx.appRes("UIPage.label.pageContent")%>
- </div>
- </div>
- </div>
-
- <%/*Begin Middle Decorator*/%>
- <div class="MiddleLeftPage">
- <div class="MiddleRightPage">
- <div class="MiddlePageBG">
- <div class="FixBug"><span></span></div>
- </div>
- </div>
- </div>
-
- <%/*Begin Bottom Decorator*/%>
- <div class="BottomLeftPage">
- <div class="BottomRightPage">
- <div class="BottomCenterPage">
- <div class="FixBug"><span></span></div>
- </div>
- </div>
- </div>
-
- </div>
+ <div class="LAYOUT-BLOCK LAYOUT-SITEBODY DragControlArea PageLayoutDecorator">
+ <%/*Begin Top Decorator*/%>
+ <div class="LeftPage">
+ <div class="RightPage">
+ <div class="CenterPage">
+ <%=_ctx.appRes("UIPage.label.pageContent")%>
+ </div>
+ </div>
+ </div>
</div>
<%} else {%>
<div class="VIEW-SITEBODY VIEW-BLOCK" id="SITEBODY-VIEW-BLOCK">
<% if(uicomponent.getUIComponent() == null){ %>
- <div class="Empty">
- <div class="UIPortalWarning">
- <div class="LeftTopWarning">
- <div class="RightTopWarning">
- <div class="CenterTopWaring">
- <div class="TitleWaring"><%=_ctx.appRes("UIPageBody.msg.pageNotFoundLine1")%></div>
- </div>
- </div>
- </div>
- <div class="LeftMiddleWarning">
- <div class="RightMiddleWarning">
- <div class="WarningContent">
- <div class="Icon"><%=_ctx.appRes("UIPageBody.msg.pageNotFoundLine2")%></div>
- <div class="Icon"><%=_ctx.appRes("UIPageBody.msg.pageNotFoundLine3")%></div>
- <div class="Icon"><%=_ctx.appRes("UIPageBody.msg.pageNotFoundLine4")%></div>
- </div>
- </div>
- </div>
- <div class="LeftBottomWarning">
- <div class="RightBottomWarning">
- <div class="CenterBottomWaring"><span></span></div>
- </div>
- </div>
- </div>
+ <div class="UIPortalWarning Empty">
+
+ <h3 class="TitleWaring"><%=_ctx.appRes("UIPageBody.msg.pageNotFoundLine1")%></h3>
+ <ul>
+ <li class="Icon"><%=_ctx.appRes("UIPageBody.msg.pageNotFoundLine2")%></li>
+ <li class="Icon"><%=_ctx.appRes("UIPageBody.msg.pageNotFoundLine3")%></li>
+ <li class="Icon"><%=_ctx.appRes("UIPageBody.msg.pageNotFoundLine4")%></li>
+ </ul>
</div>
<% } else { uicomponent.renderChildren(); } %>
</div>
@@ -75,5 +37,5 @@
</div>
<div class="UISiteBodyMask" style="position:absolute; display:none;"><span></span></div>
<%} %>
- </div>
+ </div>
</div>
13 years, 3 months
gatein SVN: r7302 - in portal/branches/dom/web: eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIPage and 3 other directories.
by do-not-reply@jboss.org
Author: phuong_vu
Date: 2011-09-05 08:44:03 -0400 (Mon, 05 Sep 2011)
New Revision: 7302
Modified:
portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/control/UIWorkspace/Stylesheet.css
portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIPage/Stylesheet.css
portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIPage/background/ViewPage.gif
portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/webui/component/UIPopup/UIWindow/Stylesheet.css
portal/branches/dom/web/portal/src/main/webapp/groovy/portal/webui/page/UIPageBody.gtmpl
Log:
[DOM] UIPageBody optimization
Modified: portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/control/UIWorkspace/Stylesheet.css
===================================================================
--- portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/control/UIWorkspace/Stylesheet.css 2011-09-05 12:42:55 UTC (rev 7301)
+++ portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/control/UIWorkspace/Stylesheet.css 2011-09-05 12:44:03 UTC (rev 7302)
@@ -1,23 +1,23 @@
-/**
- * Copyright (C) 2009 eXo Platform SAS.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
+/**
+ * Copyright (C) 2009 eXo Platform SAS.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
.UIWorkingWorkspace {
margin: 0px;
@@ -34,9 +34,17 @@
}
.UIWorkingWorkspace .UIPageBody {
+ background: #DEDFDF;
+}
+.UIWorkingWorkspace .UIPageBody .VIEW-PAGEBODY{
+background: #b5b6b6;
+ -moz-border-radius:0px 0px 9px 9px;
+ -webkit-border-radius:0px 0px 9px 9px;
+ border-radius:0px 0px 9px 9px;
+ padding: 0px 8px 8px;
}
-
+
.MaskLayer {
background: black;
text-align: center;
Modified: portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIPage/Stylesheet.css
===================================================================
--- portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIPage/Stylesheet.css 2011-09-05 12:42:55 UTC (rev 7301)
+++ portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIPage/Stylesheet.css 2011-09-05 12:44:03 UTC (rev 7302)
@@ -20,80 +20,39 @@
/*##############################-Page Layout Decorator-################################*/
.LAYOUT-BLOCK .PageLayoutDecorator {
- cursor: move;
+ cursor: move;
+ background: white;
}
-.UIPageBody .PageLayoutDecorator {
+.PageLayoutDecorator {
padding: 0px;
- margin: 0px 2px auto 2px;
}
-.UIPageBody .PageLayoutDecorator .MiddlePageBG {
- background: white;
- height: 80px;
-}
-
-.UIPageBody .PageLayoutDecorator .TopLeftPage {
- background: url('background/ViewPage.gif') no-repeat left -113px; /* orientation=lt */
- background: url('background/ViewPage-rt.gif') no-repeat right -113px; /* orientation=rt */
+.PageLayoutDecorator .LeftPage {
+ background: url('background/ViewPage.gif') no-repeat left top; /* orientation=lt */
+ background: url('background/ViewPage-rt.gif') no-repeat right top; /* orientation=rt */
padding: 0px 0px 0px 143px; /* orientation=lt */
padding: 0px 143px 0px 0px; /* orientation=rt */
}
-.UIPageBody .PageLayoutDecorator .TopRightPage {
- background: url('background/ViewPage.gif') no-repeat right -226px; /* orientation=lt */
- background: url('background/ViewPage-rt.gif') no-repeat left -226px; /* orientation=rt */
- padding: 0px 47px 0px 0px; /* orientation=lt */
- padding: 0px 0px 0px 47px; /* orientation=rt */
+.PageLayoutDecorator .RightPage {
+ background: url('background/ViewPage.gif') no-repeat right -468px; /* orientation=lt */
+ background: url('background/ViewPage-rt.gif') no-repeat left -468px; /* orientation=rt */
+ padding: 0px 40px 0px 0px; /* orientation=lt */
+ padding: 0px 0px 0px 40px; /* orientation=rt */
}
-.UIPageBody .PageLayoutDecorator .TopCenterPage {
- height: 112px; line-height: 98px;
- background: url('background/ViewPage.gif') repeat-x center top;
+.PageLayoutDecorator .CenterPage {
+ height: 230px; line-height: 98px;
+ background: url('background/ViewPage.gif') repeat-x center -235px;
color: #525252; text-align: center;
font-weight: bold;
padding: 0px; white-space: nowrap;
}
-.UIPageBody .PageLayoutDecorator .MiddleLeftPage {
- background: url('background/ViewPageRepeat.gif') repeat-y left; /* orientation=lt */
- background: url('background/ViewPageRepeat-rt.gif') repeat-y right; /* orientation=rt */
- padding: 0px 0px 0px 22px; /* orientation=lt */
- padding: 0px 22px 0px 0px; /* orientation=rt */
-}
-.UIPageBody .PageLayoutDecorator .MiddleRightPage {
- background: url('background/ViewPageRepeat.gif') repeat-y right; /* orientation=lt */
- background: url('background/ViewPageRepeat-rt.gif') repeat-y left; /* orientation=rt */
- padding: 0px 23px 0px 0px; /* orientation=lt */
- padding: 0px 0px 0px 23px; /* orientation=rt */
-}
-
-.UIPageBody .PageLayoutDecorator .BottomLeftPage {
- background: url('background/ViewPage.gif') no-repeat left -378px; /* orientation=lt */
- background: url('background/ViewPage-rt.gif') no-repeat right -378px; /* orientation=rt */
- padding: 0px 0px 0px 46px; /* orientation=lt */
- padding: 0px 46px 0px 0px; /* orientation=rt */
-}
-
-.UIPageBody .PageLayoutDecorator .BottomRightPage {
- background: url('background/ViewPage.gif') no-repeat right -378px; /* orientation=lt */
- background: url('background/ViewPage-rt.gif') no-repeat left -378px; /* orientation=rt */
- padding: 0px 35px 0px 0px; /* orientation=lt */
- padding: 0px 0px 0px 35px; /* orientation=rt */
-}
-
-.UIPageBody .PageLayoutDecorator .BottomCenterPage {
- line-height: 38px;
- background: url('background/ViewPage.gif') repeat-x center -339px;
-}
-
-.UIPageBody .PageLayoutDecorator .BottomCenterPage .FixBug {
- height: 38px;
-}
-
.UIPageBody .VIEW-PAGEBODY .UIPage {
- padding: 0px 8px;
+
}
.UIPageBody .VIEW-PAGEBODY .UIPage .UIComponentBlock {
@@ -101,23 +60,8 @@
height: 100%;
}
-.UIPageBody .BLPagebody {
- background: url('background/BgPagebody.gif') no-repeat left top;
- padding-left: 6px;
- height: 16px;
-}
-.UIPageBody .BRPagebody {
- background: url('background/BgPagebody.gif') no-repeat right top;
- padding-right: 6px;
- height: 16px;
-}
-.UIPageBody .BMPagebody {
- background: url('background/BgPagebody.gif') repeat-x center bottom;
- height: 16px;
-}
-
.BottomDecoratorHome .BottomDecoratorLeft{
background: url('background/BottomDecoratorHome.gif') no-repeat left;
padding-left: 7px;
Modified: portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIPage/background/ViewPage.gif
===================================================================
(Binary files differ)
Modified: portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/webui/component/UIPopup/UIWindow/Stylesheet.css
===================================================================
--- portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/webui/component/UIPopup/UIWindow/Stylesheet.css 2011-09-05 12:42:55 UTC (rev 7301)
+++ portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/webui/component/UIPopup/UIWindow/Stylesheet.css 2011-09-05 12:44:03 UTC (rev 7302)
@@ -1,21 +1,21 @@
-/**
- * Copyright (C) 2009 eXo Platform SAS.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
+/**
+ * Copyright (C) 2009 eXo Platform SAS.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
/*##########################################################*/
@@ -55,71 +55,44 @@
.UIPageBody .UIPortalWarning {
font-family: tahoma;
font-size: 12px;
+ margin: 30px auto;
+ width: 500px;
+ -moz-border-radius: 4px 4px 4px 4px;
+ -webkit-border-radius: 4px 4px 4px 4px;
+ border-radius: 4px 4px 4px 4px;
+ background: none repeat scroll 0 0 white;
+ border: 1px solid #d1d1d1;
+ padding: 1px 1px 40px 1px;
}
-.UIPageBody .UIPortalWarning .LeftTopWarning {
- background: url('/eXoResources/skin/sharedImages/LeftTopWarning7x58.gif') no-repeat left top;
- height: 40px;
- padding-left: 7px;
+.UIPageBody .UIPortalWarning ul{
+ padding: 0px;
+ list-style: none;
}
-.UIPageBody .UIPortalWarning .RightTopWarning {
- background: url('/eXoResources/skin/sharedImages/RightTopWarning7x58.gif') no-repeat right top;
- height: 40px;
- padding-right: 7px;
-}
-
-.UIPageBody .UIPortalWarning .CenterTopWaring {
- background: url('/eXoResources/skin/sharedImages/CenterTopWarning1x58.gif') repeat-x top;
- height: 40px;
- line-height: 40px;
-}
-
-.UIPageBody .UIPortalWarning .CenterTopWaring .TitleWaring {
- background: url('/eXoResources/skin/sharedImages/WarningIcon.gif') no-repeat left center;
- padding-left: 50px;
+.UIPageBody .UIPortalWarning .TitleWaring {
+ background:#dee0ee url('/eXoResources/skin/sharedImages/WarningIcon.gif') no-repeat 22px center;/* orientation=lt */
+ background:#dee0ee url('/eXoResources/skin/sharedImages/WarningIcon.gif') no-repeat 95% center;/* orientation=rt */
+ padding-left: 70px;/* orientation=lt */
+ padding-right: 70px;/* orientation=rt */
font-size: 15px;
font-weight: bold;
line-height: 40px;
text-align: left; /* orientation=lt */
text-align: right; /* orientation=rt */
- margin-left: 20px; /* orientation=lt */
- margin-right: 20px; /* orientation=rt */
+ -moz-border-radius: 4px 4px 0px 0px;
+ -webkit-border-radius: 4px 4px 0px 0px;
+ border-radius: 4px 4px 0px 0px;
+ margin: 0px 0px 30px 0px;
}
-.UIPageBody .UIPortalWarning .LeftMiddleWarning {
- background: white url('/eXoResources/skin/sharedImages/LeftMiddleWarning7x1.gif') repeat-y left;
- padding-left: 7px;
-}
-
-.UIPageBody .UIPortalWarning .RightMiddleWarning {
- background: url('/eXoResources/skin/sharedImages/RightMiddleWarning7x1.gif') repeat-y right;
- text-align: left;
- padding: 30px 30px 50px 30px;
-}
-
-.UIPageBody .UIPortalWarning .RightMiddleWarning .Icon {
+.UIPageBody .UIPortalWarning .Icon {
background: url('/eXoResources/skin/sharedImages/BlueNextArrow.gif') no-repeat left 5px; /* orientation=lt */
- background: url('/eXoResources/skin/sharedImages/BlueNextArrow.gif') no-repeat right 5px; /* orientation=rt */
+ background: url('/eXoResources/skin/sharedImages/BlueNextArrow-rt.gif') no-repeat right 5px; /* orientation=rt */
padding: 6px 0px 6px 20px; /* orientation=lt */
padding: 6px 20px 6px 0px; /* orientation=rt */
text-align: left; /* orientation=lt */
text-align: right; /* orientation=rt */
+ margin-left: 50px;/* orientation=lt */
+ margin-right: 50px;/* orientation=rt */
}
-
-.UIPageBody .UIPortalWarning .LeftBottomWarning {
- background: url('/eXoResources/skin/sharedImages/LeftBottomWarning7x7.gif') no-repeat left center;
- height: 7px;
- padding-left: 7px;
-}
-
-.UIPageBody .UIPortalWarning .RightBottomWarning {
- background: url('/eXoResources/skin/sharedImages/RightBottomWarning7x7.gif') no-repeat right center;
- height: 7px;
- padding-right: 7px;
-}
-
-.UIPageBody .UIPortalWarning .CenterBottomWaring {
- background: url('/eXoResources/skin/sharedImages/CenterBottomWarning1x7.gif') repeat-x center;
- height: 7px;
-}
\ No newline at end of file
Modified: portal/branches/dom/web/portal/src/main/webapp/groovy/portal/webui/page/UIPageBody.gtmpl
===================================================================
--- portal/branches/dom/web/portal/src/main/webapp/groovy/portal/webui/page/UIPageBody.gtmpl 2011-09-05 12:42:55 UTC (rev 7301)
+++ portal/branches/dom/web/portal/src/main/webapp/groovy/portal/webui/page/UIPageBody.gtmpl 2011-09-05 12:44:03 UTC (rev 7302)
@@ -5,73 +5,33 @@
%>
<div class="UIPageBody" id="${uicomponent.id}">
<div class="UIComponent UIComponentBlock">
-
<%if(portalMode == UIPortalApplication.APP_BLOCK_EDIT_MODE || portalMode == UIPortalApplication.CONTAINER_BLOCK_EDIT_MODE) {%>
- <div class="LAYOUT-BLOCK LAYOUT-PAGEBODY DragControlArea" onmousedown="if(eXo.portal.portalMode == <%=UIPortalApplication.APP_BLOCK_EDIT_MODE%>){eXo.portal.PortalDragDrop.init.call(this, event);} return false">
- <div class="PageLayoutDecorator" onmouseover="if(eXo.portal.portalMode == <%=UIPortalApplication.APP_BLOCK_EDIT_MODE%>){this.style.cursor ='move';} else this.style.cursor ='default';">
+ <div class="LAYOUT-BLOCK LAYOUT-PAGEBODY DragControlArea PageLayoutDecorator" onmouseover="if(eXo.portal.portalMode == <%=UIPortalApplication.APP_BLOCK_EDIT_MODE%>){this.style.cursor ='move';} else this.style.cursor ='default';" onmousedown="if(eXo.portal.portalMode == <%=UIPortalApplication.APP_BLOCK_EDIT_MODE%>){eXo.portal.PortalDragDrop.init.call(this, event);} return false">
<%/*Begin Top Decorator*/%>
- <div class="TopLeftPage">
- <div class="TopRightPage">
- <div class="TopCenterPage">
+ <div class="LeftPage">
+ <div class="RightPage">
+ <div class="CenterPage">
<%=_ctx.appRes("UIPage.label.pageContent")%>
</div>
</div>
- </div>
-
- <%/*Begin Middle Decorator*/%>
- <div class="MiddleLeftPage">
- <div class="MiddleRightPage">
- <div class="MiddlePageBG">
- <div class="FixBug"><span></span></div>
- </div>
- </div>
- </div>
-
- <%/*Begin Bottom Decorator*/%>
- <div class="BottomLeftPage">
- <div class="BottomRightPage">
- <div class="BottomCenterPage">
- <div class="FixBug"><span></span></div>
- </div>
- </div>
- </div>
-
- </div>
+ </div>
</div>
<%} else {%>
<div class="VIEW-PAGEBODY VIEW-BLOCK DragControlArea" id="PAGEBODY-VIEW-BLOCK">
<% if(uicomponent.getUIComponent() == null){ %>
- <div class="Empty">
- <div class="UIPortalWarning">
- <div class="LeftTopWarning">
- <div class="RightTopWarning">
- <div class="CenterTopWaring">
- <div class="TitleWaring"><%=_ctx.appRes("UIPageBody.msg.pageNotFoundLine1")%></div>
- </div>
- </div>
- </div>
- <div class="LeftMiddleWarning">
- <div class="RightMiddleWarning">
- <div class="WarningContent">
- <div class="Icon"><%=_ctx.appRes("UIPageBody.msg.pageNotFoundLine2")%></div>
- <div class="Icon"><%=_ctx.appRes("UIPageBody.msg.pageNotFoundLine3")%></div>
- <div class="Icon"><%=_ctx.appRes("UIPageBody.msg.pageNotFoundLine4")%></div>
- </div>
- </div>
- </div>
- <div class="LeftBottomWarning">
- <div class="RightBottomWarning">
- <div class="CenterBottomWaring"><span></span></div>
- </div>
- </div>
+ <div class="UIPortalWarning Empty">
+
+ <h3 class="TitleWaring"><%=_ctx.appRes("UIPageBody.msg.pageNotFoundLine1")%></h3>
+
+ <ul>
+ <li class="Icon"><%=_ctx.appRes("UIPageBody.msg.pageNotFoundLine2")%></li>
+ <li class="Icon"><%=_ctx.appRes("UIPageBody.msg.pageNotFoundLine3")%></li>
+ <li class="Icon"><%=_ctx.appRes("UIPageBody.msg.pageNotFoundLine4")%></li>
+ </ul>
+
</div>
- </div>
+
<% } else { uicomponent.renderChildren(); }%>
- <div class="BLPagebody">
- <div class="BRPagebody">
- <div class="BMPagebody"><span></span></div>
- </div>
- </div>
<%if(portalMode != UIPortalApplication.NORMAL_MODE) {%>
<div class="MaskParent" style="height: 0px;position:relative;">
@@ -85,5 +45,5 @@
<div class="CONTROL-PAGEBODY CONTROL-BLOCK" style="display: none"><span></span></div>
</div>
<%} %>
- </div>
</div>
+</div>
13 years, 3 months
gatein SVN: r7301 - in portal/branches/dom/web: eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIPortalComponent and 5 other directories.
by do-not-reply@jboss.org
Author: phuong_vu
Date: 2011-09-05 08:42:55 -0400 (Mon, 05 Sep 2011)
New Revision: 7301
Added:
portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIPortalComponent/background/DefaultContainerIcon.gif
portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIPortalComponent/background/Earth.gif
portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/webui/component/UIBarDecorator/UIInfoBar/background/BlueRoundedStyle.png
Removed:
portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIPortalComponent/background/BgContainerBlock.gif
portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIPortalComponent/background/BottomVTabSimpleStyle224x1.gif
portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIPortalComponent/background/ContainerIcon.gif
portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIPortalComponent/background/LineBlock.gif
portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIPortalComponent/background/Pen.png
portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIPortalComponent/background/PortalBackground4x4.gif
portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIPortalComponent/background/PortletLayoutDecoratorHidden.gif
portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIPortalComponent/background/close.png
portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/webui/component/UIBarDecorator/UIInfoBar/background/BlueRoundedStyle.gif
portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/webui/component/UIBarDecorator/UIInfoBar/background/DefaultContainerIcon.gif
portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/webui/component/UIBarDecorator/UIInfoBar/background/Earth.gif
portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/webui/component/UIBarDecorator/UIInfoBar/background/ViewBlockBar.png
Modified:
portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIPage/Stylesheet.css
portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIPortalComponent/Stylesheet.css
portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/webui/component/UIBarDecorator/UIInfoBar/Stylesheet.css
portal/branches/dom/web/portal/src/main/webapp/groovy/portal/webui/application/UIPortlet.gtmpl
portal/branches/dom/web/portal/src/main/webapp/groovy/portal/webui/container/UIContainer.gtmpl
portal/branches/dom/web/portal/src/main/webapp/groovy/portal/webui/container/UITableAutofitColumnContainer.gtmpl
portal/branches/dom/web/portal/src/main/webapp/groovy/portal/webui/container/UITableColumnContainer.gtmpl
portal/branches/dom/web/portal/src/main/webapp/groovy/portal/webui/container/UIToolbarContainer.gtmpl
Log:
[DOM] UIContainer optimization, UITabContainer optimization, UIPortlet.gtmpl optimization, UITableColumnContainer optimization, UIToolbarContainer optimization, UITableAutofitColumnContainer optimization, change HTML&CSS of all UIInforBar
Modified: portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIPage/Stylesheet.css
===================================================================
--- portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIPage/Stylesheet.css 2011-09-05 11:06:45 UTC (rev 7300)
+++ portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIPage/Stylesheet.css 2011-09-05 12:42:55 UTC (rev 7301)
@@ -17,125 +17,120 @@
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
-/*##############################-Page Layout Decorator-################################*/
+/*##############################-Page Layout Decorator-################################*/
.LAYOUT-BLOCK .PageLayoutDecorator {
cursor: move;
}
-.UIPageBody .PageLayoutDecorator {
- padding: 0px;
+.UIPageBody .PageLayoutDecorator {
+ padding: 0px;
margin: 0px 2px auto 2px;
- overflow: hidden;
-}
-
-.UIPageBody .PageLayoutDecorator .MiddlePageBG {
- background: white;
- height: 80px;
-}
-
-.UIPageBody .PageLayoutDecorator .TopLeftPage {
- background: url('background/ViewPage.gif') no-repeat left -113px; /* orientation=lt */
- background: url('background/ViewPage-rt.gif') no-repeat right -113px; /* orientation=rt */
- padding: 0px 0px 0px 143px; /* orientation=lt */
- padding: 0px 143px 0px 0px; /* orientation=rt */
-}
-
-.UIPageBody .PageLayoutDecorator .TopRightPage {
- background: url('background/ViewPage.gif') no-repeat right -226px; /* orientation=lt */
- background: url('background/ViewPage-rt.gif') no-repeat left -226px; /* orientation=rt */
- padding: 0px 47px 0px 0px; /* orientation=lt */
- padding: 0px 0px 0px 47px; /* orientation=rt */
-}
-
-.UIPageBody .PageLayoutDecorator .TopCenterPage {
- height: 112px; line-height: 98px;
- background: url('background/ViewPage.gif') repeat-x center top;
- color: #525252; text-align: center;
- font-weight: bold;
- padding: 0px; white-space: nowrap;
-}
-
-.UIPageBody .PageLayoutDecorator .MiddleLeftPage {
- background: url('background/ViewPageRepeat.gif') repeat-y left; /* orientation=lt */
- background: url('background/ViewPageRepeat-rt.gif') repeat-y right; /* orientation=rt */
- padding: 0px 0px 0px 22px; /* orientation=lt */
- padding: 0px 22px 0px 0px; /* orientation=rt */
-}
-
-.UIPageBody .PageLayoutDecorator .MiddleRightPage {
- background: url('background/ViewPageRepeat.gif') repeat-y right; /* orientation=lt */
- background: url('background/ViewPageRepeat-rt.gif') repeat-y left; /* orientation=rt */
- padding: 0px 23px 0px 0px; /* orientation=lt */
- padding: 0px 0px 0px 23px; /* orientation=rt */
-}
-
-.UIPageBody .PageLayoutDecorator .BottomLeftPage {
- background: url('background/ViewPage.gif') no-repeat left -378px; /* orientation=lt */
- background: url('background/ViewPage-rt.gif') no-repeat right -378px; /* orientation=rt */
- padding: 0px 0px 0px 46px; /* orientation=lt */
- padding: 0px 46px 0px 0px; /* orientation=rt */
-}
-
-.UIPageBody .PageLayoutDecorator .BottomRightPage {
- background: url('background/ViewPage.gif') no-repeat right -378px; /* orientation=lt */
- background: url('background/ViewPage-rt.gif') no-repeat left -378px; /* orientation=rt */
- padding: 0px 35px 0px 0px; /* orientation=lt */
- padding: 0px 0px 0px 35px; /* orientation=rt */
-}
-
-.UIPageBody .PageLayoutDecorator .BottomCenterPage {
- line-height: 38px;
- background: url('background/ViewPage.gif') repeat-x center -339px;
-}
-
-.UIPageBody .PageLayoutDecorator .BottomCenterPage .FixBug {
- height: 38px;
-}
-
-.UIPageBody .VIEW-PAGEBODY .UIPage {
- padding: 0px 8px;
-}
-
-.UIPageBody .VIEW-PAGEBODY .UIPage .UIComponentBlock {
+}
+
+.UIPageBody .PageLayoutDecorator .MiddlePageBG {
background: white;
- height: 100%;
-}
-
-.UIPageBody .BLPagebody {
- background: url('background/BgPagebody.gif') no-repeat left top;
- padding-left: 6px;
- height: 16px;
-}
-
-.UIPageBody .BRPagebody {
- background: url('background/BgPagebody.gif') no-repeat right top;
- padding-right: 6px;
- height: 16px;
-}
-
-.UIPageBody .BMPagebody {
- background: url('background/BgPagebody.gif') repeat-x center bottom;
- height: 16px;
-}
-
-.UIPage .UIRowContainer {
- padding: 0px;
-}
-
-.BottomDecoratorHome .BottomDecoratorLeft{
- background: url('background/BottomDecoratorHome.gif') no-repeat left;
- padding-left: 7px;
- height: 7px;
-}
-
-.BottomDecoratorHome .BottomDecoratorRight{
- background: url('background/BottomDecoratorHome.gif') no-repeat right;
- padding-right: 7px;
- height: 7px;
-}
-
-.BottomDecoratorHome .BottomDecoratorMiddle{
- background: white;
- height: 7px;
+ height: 80px;
+}
+
+.UIPageBody .PageLayoutDecorator .TopLeftPage {
+ background: url('background/ViewPage.gif') no-repeat left -113px; /* orientation=lt */
+ background: url('background/ViewPage-rt.gif') no-repeat right -113px; /* orientation=rt */
+ padding: 0px 0px 0px 143px; /* orientation=lt */
+ padding: 0px 143px 0px 0px; /* orientation=rt */
+}
+
+.UIPageBody .PageLayoutDecorator .TopRightPage {
+ background: url('background/ViewPage.gif') no-repeat right -226px; /* orientation=lt */
+ background: url('background/ViewPage-rt.gif') no-repeat left -226px; /* orientation=rt */
+ padding: 0px 47px 0px 0px; /* orientation=lt */
+ padding: 0px 0px 0px 47px; /* orientation=rt */
+}
+
+.UIPageBody .PageLayoutDecorator .TopCenterPage {
+ height: 112px; line-height: 98px;
+ background: url('background/ViewPage.gif') repeat-x center top;
+ color: #525252; text-align: center;
+ font-weight: bold;
+ padding: 0px; white-space: nowrap;
+}
+
+.UIPageBody .PageLayoutDecorator .MiddleLeftPage {
+ background: url('background/ViewPageRepeat.gif') repeat-y left; /* orientation=lt */
+ background: url('background/ViewPageRepeat-rt.gif') repeat-y right; /* orientation=rt */
+ padding: 0px 0px 0px 22px; /* orientation=lt */
+ padding: 0px 22px 0px 0px; /* orientation=rt */
+}
+
+.UIPageBody .PageLayoutDecorator .MiddleRightPage {
+ background: url('background/ViewPageRepeat.gif') repeat-y right; /* orientation=lt */
+ background: url('background/ViewPageRepeat-rt.gif') repeat-y left; /* orientation=rt */
+ padding: 0px 23px 0px 0px; /* orientation=lt */
+ padding: 0px 0px 0px 23px; /* orientation=rt */
+}
+
+.UIPageBody .PageLayoutDecorator .BottomLeftPage {
+ background: url('background/ViewPage.gif') no-repeat left -378px; /* orientation=lt */
+ background: url('background/ViewPage-rt.gif') no-repeat right -378px; /* orientation=rt */
+ padding: 0px 0px 0px 46px; /* orientation=lt */
+ padding: 0px 46px 0px 0px; /* orientation=rt */
+}
+
+.UIPageBody .PageLayoutDecorator .BottomRightPage {
+ background: url('background/ViewPage.gif') no-repeat right -378px; /* orientation=lt */
+ background: url('background/ViewPage-rt.gif') no-repeat left -378px; /* orientation=rt */
+ padding: 0px 35px 0px 0px; /* orientation=lt */
+ padding: 0px 0px 0px 35px; /* orientation=rt */
+}
+
+.UIPageBody .PageLayoutDecorator .BottomCenterPage {
+ line-height: 38px;
+ background: url('background/ViewPage.gif') repeat-x center -339px;
+}
+
+.UIPageBody .PageLayoutDecorator .BottomCenterPage .FixBug {
+ height: 38px;
+}
+
+.UIPageBody .VIEW-PAGEBODY .UIPage {
+ padding: 0px 8px;
+}
+
+.UIPageBody .VIEW-PAGEBODY .UIPage .UIComponentBlock {
+ background: white;
+ height: 100%;
+}
+
+.UIPageBody .BLPagebody {
+ background: url('background/BgPagebody.gif') no-repeat left top;
+ padding-left: 6px;
+ height: 16px;
+}
+
+.UIPageBody .BRPagebody {
+ background: url('background/BgPagebody.gif') no-repeat right top;
+ padding-right: 6px;
+ height: 16px;
+}
+
+.UIPageBody .BMPagebody {
+ background: url('background/BgPagebody.gif') repeat-x center bottom;
+ height: 16px;
+}
+
+.BottomDecoratorHome .BottomDecoratorLeft{
+ background: url('background/BottomDecoratorHome.gif') no-repeat left;
+ padding-left: 7px;
+ height: 7px;
+}
+
+.BottomDecoratorHome .BottomDecoratorRight{
+ background: url('background/BottomDecoratorHome.gif') no-repeat right;
+ padding-right: 7px;
+ height: 7px;
+}
+
+.BottomDecoratorHome .BottomDecoratorMiddle{
+ background: white;
+ height: 7px;
}
\ No newline at end of file
Modified: portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIPortalComponent/Stylesheet.css
===================================================================
--- portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIPortalComponent/Stylesheet.css 2011-09-05 11:06:45 UTC (rev 7300)
+++ portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIPortalComponent/Stylesheet.css 2011-09-05 12:42:55 UTC (rev 7301)
@@ -17,200 +17,76 @@
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
-.UIPortlet .LAYOUT-BLOCK {
- padding: 5px;
-}
-
-.UIPortlet .CONTROL-PORTLET {
- left: 0; /* orientation=lt */
- right: 0; /* orientation=rt */
-}
-
-.UIPortlet .CONTROL-PORTLET .Login {
- background: url('/eXoResources/skin/DefaultSkin/skinIcons/16x16/icons/ToolIcons/Key.gif') no-repeat center;
-}
-
-.UIPortlet .CONTROL-PORTLET .DragControlArea {
- float: left; /* orientation=lt */
- float: right; /* orientation=rt */
- width: 7px; height: 13px;
- margin: 5px 0px 0px 3px; /* orientation=lt */
- margin: 5px 3px 0px 0px; /* orientation=rt */
- background: url('background/DragBg2x2.gif');
- cursor: move;
-}
-
-.UIPortlet .ViewPortletIcon {
- float: right; /* orientation=lt */
- float: left; /* orientation=rt */
- width: 16px; height: 16px;
- margin: 4px 5px 0px 0px; /* orientation=lt */
- margin: 4px 0px 0px 5px; /* orientation=rt */
- background: url('background/BlueBoxLight.gif') no-repeat;
- cursor: pointer;
-}
-
-.UIPortlet .EditPortletPropertiesIcon {
- float: left; /* orientation=lt */
- float: right; /* orientation=rt */
- width: 20px; height: 20px;
- background: url('background/Pen.gif') no-repeat top;
- margin: 4px 0px 0px 5px; /* orientation=lt */
- margin: 4px 5px 0px 0px; /* orientation=rt */
-}
-
-.UIPortlet .DeletePortletIcon {
- float: left; /* orientation=lt */
- float: right; /* orientation=rt */
- width: 20px; height:20px;
- background: url('background/Close.gif') no-repeat bottom;
- margin: 0px 0px 0px 2px; /* orientation=lt */
- margin: 0px 2px 0px 0px; /* orientation=rt */
-}
-
-.UIPortlet .SelectedContainerBlock {
+.UIPortal .LAYOUT-PORTAL {
background: white;
- border-top: 1px solid #91bcdd;
+ padding: 8px;
+ _padding: 8px 0px; /* orientation=rt */
+ margin: auto;
+ _margin: 0px; /* orientation=rt */
+ _width: 99%; /* orientation=rt */
}
-.UIPortlet .SelectedContainerBlock .LeftContainerBlock {
- background: url('background/BgContainerBlock.gif') no-repeat left top;
- padding-left: 1px;
+.DragAndDropPreview {
+ width: auto; height: 80px;
+ background: url('background/DragAndDropPreview4x4.gif');
+ border: 1px solid #c4c4c4;
+ margin: 0px 12px 10px 12px;
}
-.UIPortlet .SelectedContainerBlock .RightContainerBlock {
- background: url('background/BgContainerBlock.gif') no-repeat right top;
- padding: 4px;
-}
+/************** style for EDITION-BLOCK *****************/
-.UIPortlet .NewLayer {
- background: #d1dce5;
- filter: alpha(opacity=80);
- opacity: 0.8;
- width: 100%; height: 100%;
+.EDITION-BLOCK .CONTROL-BLOCK {
+ position: absolute;
+ top: -5px;
+ left: 4px; /* orientation=lt */
+ right: 4px; /* orientation=rt */
+ white-space: nowrap;
}
-/*##############################- PortletLayoutDecorator -################################*/
-
-.PortletLayoutDecorator {
-}
-
-.PortletLayoutDecorator .LPortletLayoutDecorator {
- background: url('background/PortletLayoutDecorator.gif') no-repeat left top;
- padding: 0px 0px 0px 12px;
-}
-
-.PortletLayoutDecorator .RPortletLayoutDecorator {
- background: url('background/PortletLayoutDecorator.gif') no-repeat right top;
- padding-right: 12px;
-}
-
-.PortletLayoutDecorator .CPortletLayoutDecorator {
- background: url('background/PortletLayoutDecorator.gif') repeat-x center -89px;
-}
-
-.PortletLayoutDecorator .FixHeight {
- height: 69px;
- padding: 10px 0;
-}
-.ProtectedPortlet .PortletLayoutDecorator {
- background: white;
-}
-.ProtectedPortlet .PortletLayoutDecorator .LPortletLayoutDecorator {
- opacity: 0.3;
- filter: alpha(opacity=30);
-}
-/*############### End Decorator ###################################################*/
-
-.LAYOUT-CONTAINER .UIContainer {
- _height: 100%;
- /*
- fix bug dragdrop in IE6
- */
-}
-
-.LAYOUT-CONTAINER .TDContainer {
- padding: 0px 2px;
-}
-
-.UIContainer .LAYOUT-BLOCK .UIRowContainer {
- min-height: 86px;
- _height: 86px;
-}
-
-.UIContainer .VIEW-BLOCK .EmptyContainer {
- height: 82px;
-}
-
-.UIContainer .NewLayer {
+.EDITION-BLOCK .NewLayer {
background: #93c0e2;
filter: alpha(opacity=40);
opacity: 0.4;
width: 100%; height: 100%;
}
-/*
-.UIContainer .LAYOUT-CONTAINER {
- background: #f5f5f5;
- border: solid 1px #38acf3;
- padding: 5px;
- margin: 0px 1px;
- min-height: 60px;
-}
-
-* html .UIContainer .LAYOUT-CONTAINER {
- height: 60px;
-}
-
-.UIContainer .UIInfoBar .BlueRoundedStyle {
- padding: 0px; margin: 0px;
- height: 22px;
-}
-*/
-
-.UIContainer .CONTROL-CONTAINER .DragControlArea {
+.EDITION-BLOCK .DragControlArea {
float: left; /* orientation=lt */
float: right; /* orientation=rt */
width: 7px; height: 13px;
background: url('background/DragBg2x2.gif');
cursor: move;
- margin: 5px 0px 0px 2px; /* orientation=lt */
- margin: 5px 2px 0px 0px; /* orientation=rt */
+ margin: 3px 0px 0px 2px; /* orientation=lt */
+ margin: 3px 2px 0px 0px; /* orientation=rt */
}
-.UIContainer .LAYOUT-CONTAINER .UITableColumnContainer {
- background: none;
- border: none;
- margin: auto;
-}
-
-.UIContainer .EditContainerIcon {
+.EDITION-BLOCK .EditIcon {
float: left; /* orientation=lt */
float: right; /* orientation=rt */
width: 22px; height: 16px;
background: url('background/Pen.gif') no-repeat top;
- margin: 4px 0px 0px 2px; /* orientation=lt */
- margin: 4px 2px 0px 0px; /* orientation=rt */
+ margin: 2px 2px 0px 0px; /* orientation=lt */
+ margin: 2px 0px 0px 2px; /* orientation=rt */
}
-.UIContainer .DeleteContainerIcon {
+.EDITION-BLOCK .DeleteIcon {
float: left; /* orientation=lt */
float: right; /* orientation=rt */
width: 22px; height: 16px;
background: url('background/Close.gif') no-repeat bottom;
- margin: 4px 0px 0px 0px; /* orientation=lt */
- margin: 4px 0px 0px 0px; /* orientation=rt */
+ margin: 2px 0px 0px 0px; /* orientation=lt */
+ margin: 2px 0px 0px 0px; /* orientation=rt */
}
-.UIContainer .ContainerIcon {
+.EDITION-BLOCK .ContainerIcon {
float: left; /* orientation=lt */
float: right; /* orientation=rt */
- height: 16px; line-height: 16px;
padding-left: 24px; /* orientation=lt */
padding-right: 24px; /* orientation=rt */
- margin: 3px 0px 0px 5px; /* orientation=lt */
- margin: 3px 5px 0px 0px; /* orientation=rt */
- background: url('background/DefaultContainerIcon.png') no-repeat;
+ margin: 0px 0px 0px 5px; /* orientation=lt */
+ margin: 0px 5px 0px 0px; /* orientation=rt */
+ background: url('background/DefaultContainerIcon.gif') no-repeat left 3px; /* orientation=lt */
+ background: url('background/DefaultContainerIcon.gif') no-repeat right 1px; /* orientation=rt */
}
.UIColumnContainer .ControlIcon {
@@ -236,27 +112,31 @@
margin: 4px 2px 0px 0px; /* orientation=rt */
}
-.UIPortal .LAYOUT-PORTAL {
- /* background: url('background/PortalBackground4x4.gif');*/
- background: white;
- padding: 8px;
- _padding: 8px 0px; /* orientation=rt */
- margin: auto;
- _margin: 0px; /* orientation=rt */
- _width: 99%; /* orientation=rt */
+.EDITION-BLOCK .PortletIcon {
+ background: url('background/Earth.gif') no-repeat left center; /* orientation=lt */
+ background: url('background/Earth.gif') no-repeat right center; /* orientation=rt */
+ float: left; /* orientation=lt */
+ float: right; /* orientation=rt */
+ text-overflow: ellipsis;
+ width: auto;
+ line-height: 19px;
+ padding-left: 25px; /* orientation=lt */
+ padding-right: 25px; /* orientation=rt */
+ margin: 0px 0px 0px 6px; /* orientation=lt */
+ margin: 0px 6px 0px 0px; /* orientation=rt */
+ color: black;
}
-.DragAndDropPreview {
- width: auto; height: 80px;
- background: url('background/DragAndDropPreview4x4.gif');
- border: 1px solid #c4c4c4;
- margin: 0px 12px 10px 12px;
+/****************** edit Application *********************/
+.UIPortlet .LAYOUT-BLOCK {
+ padding: 2px;
}
-.PortletBlockDecorator {
-
+.UIPortlet .CONTROL-PORTLET .Login {
+ background: url('/eXoResources/skin/DefaultSkin/skinIcons/16x16/icons/ToolIcons/Key.gif') no-repeat center;
}
+/****************** edit Container *********************/
.EdittingContainer {
padding: 3px;
}
@@ -265,44 +145,57 @@
background: white;
border: 1px dashed #a2a2a2;
height: 100%;
+ padding: 2px;
}
+.EdittingContainer .OverContainerBlock {
+ border: 1px solid #b8babf;
+ background: white;
+ height: 100%;
+ padding: 2px;
+}
-.EdittingContainer .NormalContainerBlock .LeftContainerBlock,
-.EdittingContainer .OverContainerBlock .NormalContainerBlock .LeftContainerBlock {
- background: none;
+.EdittingContainer .LAYOUT-BLOCK .UIRowContainer {
+ min-height: 86px;
+ _height: 86px;
}
-.EdittingContainer .NormalContainerBlock .RightContainerBlock,
-.EdittingContainer .OverContainerBlock .NormalContainerBlock .RightContainerBlock {
- padding: 2px;
- background: none;
+.EdittingContainer .VIEW-BLOCK .EmptyContainer {
+ height: 82px;
}
-.UIContainer .UIPortlet {
- padding: 0px;
+.EdittingContainer .LAYOUT-CONTAINER .UIContainer {
+ height: 100%;
+ /*
+ fix bug dragdrop in IE6
+ */
}
-.UIPortletMask {
- opacity: 0;
- filter: alpha(opacity=0);
- background: #ffffff;
+/*##############################- PortletLayoutDecorator -################################*/
+
+.PortletLayoutDecorator {
}
-.EdittingContainer .OverContainerBlock {
- border: 1px solid #b8babf;
- background: none;
- height: 100%;
+.PortletLayoutDecorator .LPortletLayoutDecorator {
+ background: url('background/PortletLayoutDecorator.gif') no-repeat left top;
+ padding: 0px 0px 0px 12px;
}
-.EdittingContainer .OverContainerBlock .LeftContainerBlock {
- background: white;
+.PortletLayoutDecorator .RPortletLayoutDecorator {
+ background: url('background/PortletLayoutDecorator.gif') no-repeat right top;
+ padding-right: 12px;
}
-.EdittingContainer .OverContainerBlock .RightContainerBlock {
- background: none;
- padding: 2px;
+.PortletLayoutDecorator .CPortletLayoutDecorator {
+ background: url('background/PortletLayoutDecorator.gif') repeat-x center -89px;
}
+.PortletLayoutDecorator .FixHeight {
+ height: 69px;
+ padding: 10px 0;
+}
+
+/*############### End Decorator ###################################################*/
+
.ProtectedContainer .ProtectedContent {
opacity: 0.3;
filter: alpha(opacity=80);
@@ -310,6 +203,21 @@
padding: 6px 10px;
}
+.ProtectedPortlet .PortletLayoutDecorator {
+ background: white;
+}
+
+.ProtectedPortlet .PortletLayoutDecorator .LPortletLayoutDecorator {
+ opacity: 0.3;
+ filter: alpha(opacity=30);
+}
+
+.UIPortletMask {
+ opacity: 0;
+ filter: alpha(opacity=0);
+ background: #ffffff;
+}
+
.UIPageBodyMask {
opacity: 0;
filter: alpha(opacity=0);
Deleted: portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIPortalComponent/background/BgContainerBlock.gif
===================================================================
(Binary files differ)
Deleted: portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIPortalComponent/background/BottomVTabSimpleStyle224x1.gif
===================================================================
(Binary files differ)
Deleted: portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIPortalComponent/background/ContainerIcon.gif
===================================================================
(Binary files differ)
Added: portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIPortalComponent/background/DefaultContainerIcon.gif
===================================================================
(Binary files differ)
Property changes on: portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIPortalComponent/background/DefaultContainerIcon.gif
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIPortalComponent/background/Earth.gif
===================================================================
(Binary files differ)
Property changes on: portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIPortalComponent/background/Earth.gif
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Deleted: portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIPortalComponent/background/LineBlock.gif
===================================================================
(Binary files differ)
Deleted: portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIPortalComponent/background/Pen.png
===================================================================
(Binary files differ)
Deleted: portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIPortalComponent/background/PortalBackground4x4.gif
===================================================================
(Binary files differ)
Deleted: portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIPortalComponent/background/PortletLayoutDecoratorHidden.gif
===================================================================
(Binary files differ)
Deleted: portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIPortalComponent/background/close.png
===================================================================
(Binary files differ)
Modified: portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/webui/component/UIBarDecorator/UIInfoBar/Stylesheet.css
===================================================================
--- portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/webui/component/UIBarDecorator/UIInfoBar/Stylesheet.css 2011-09-05 11:06:45 UTC (rev 7300)
+++ portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/webui/component/UIBarDecorator/UIInfoBar/Stylesheet.css 2011-09-05 12:42:55 UTC (rev 7301)
@@ -17,108 +17,69 @@
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
-.UIInfoBar {
-}
-
-/*######################-Blue Rounded Style-######################*/
-
-.UIInfoBar .BlueRoundedStyle {
- padding: 0px; margin: 0px;
-}
-
-.UIInfoBar .BlueRoundedStyle .LeftBar {
- background: url('background/ViewBlockBar.png') no-repeat left top; /* orientation=lt */
- background: url('background/ViewBlockBar-rt.png') no-repeat left -26px; /* orientation=rt */
- padding-left: 5px; /* orientation=lt */
- padding-left: 9px; /* orientation=rt */
-}
-
-.UIInfoBar .BlueRoundedStyle .RightBar {
- background: url('background/ViewBlockBar.png') no-repeat right -26px; /* orientation=lt */
- background: url('background/ViewBlockBar-rt.png') no-repeat right top; /* orientation=rt */
- padding-right: 9px; /* orientation=lt */
- padding-right: 5px; /* orientation=rt */
-}
-
-.UIInfoBar .BlueRoundedStyle .MiddleBar {
- background: url('background/ViewBlockBar.png') repeat-x center -52px;
-}
-
-.UIInfoBar .BlueRoundedStyle .FixHeight {
- height: 26px;
- white-space: nowrap;
-}
-
-.UIInfoBar .BlueRoundedStyle .PortletIcon {
- background: url('background/Earth.gif') no-repeat left center; /* orientation=lt */
- background: url('background/Earth.gif') no-repeat right center; /* orientation=rt */
- float: left; /* orientation=lt */
- float: right; /* orientation=rt */
- text-overflow: ellipsis;
- width: auto;
- line-height: 23px;
- padding-left: 25px; /* orientation=lt */
- padding-right: 25px; /* orientation=rt */
- margin: 0px 0px 0px 6px; /* orientation=lt */
- margin: 0px 6px 0px 0px; /* orientation=rt */
- color: black;
-}
-
-.UIInfoBar .BlueRoundedStyle .ContainerIcon {
- background: url('background/DefaultContainerIcon.gif') no-repeat left center; /* orientation=lt */
- background: url('background/DefaultContainerIcon.gif') no-repeat right center; /* orientation=rt */
- float: left; /* orientation=lt */
- float: right; /* orientation=rt */
- text-overflow: ellipsis;
- width: auto;
- line-height: 23px;
- padding-left: 25px; /* orientation=lt */
- padding-right: 25px; /* orientation=rt */
- margin: 0px 0px 0px 6px; /* orientation=lt */
- margin: 0px 6px 0px 0px; /* orientation=rt */
- height: auto;
- color: black;
-}
-
-/*######################-Polygon Navyblue Style-######################*/
-
-.UIInfoBar .PolygonNavyBlueStyle {
- height: 26px;
-}
-
-.UIInfoBar .PolygonNavyBlueStyle .LeftBar {
- background: url('background/PolygonNavyBlueStyle.gif') no-repeat left top;
- padding: 0px 0px 0px 3px;
-}
-
-.UIInfoBar .PolygonNavyBlueStyle .RightBar {
- background: url('background/PolygonNavyBlueStyle.gif') no-repeat right top;
- padding: 0px 3px 0px 0px;
-}
-
-.UIInfoBar .PolygonNavyBlueStyle .MiddleBar {
- height: 26px;
- background: url('background/PolygonNavyBlueStyle.gif') repeat-x center bottom;
- padding: 0px 0px 0px 2px;
-}
-
-/*######################-Smooth Style 26 -######################*/
-
-.UIInfoBar .SmoothStyle26 {
- height: 26px;
-}
-
-.UIInfoBar .SmoothStyle26 .LeftBar {
- background: url('background/SmoothStyle26.gif') no-repeat left top;
- padding: 0px 0px 0px 1px;
-}
-
-.UIInfoBar .SmoothStyle26 .RightBar {
- background: url('background/SmoothStyle26.gif') no-repeat right top;
- padding: 0px 1px 0px 0px;
-}
-
-.UIInfoBar .SmoothStyle26 .MiddleBar {
- height: 26px;
- background: url('background/SmoothStyle26.gif') repeat-x center bottom;
+.UIInfoBar {
}
+
+/*######################-Blue Rounded Style-######################*/
+
+.UIInfoBar .BlueRoundedStyle {
+ padding: 0px 3px; margin: 0px;
+ background: url('background/BlueRoundedStyle.png') repeat-x center;
+ height: 19px; line-height: 19px;
+ border: 1px solid #b8babf;
+ -moz-border-radius: 0 0 5px 0;
+ -webkit-border-radius: 0 0 5px 0;
+ border-radius: 0 0 5px 0;
+ -moz-box-shadow: 1px 0px rgba(255, 255, 255, 0.6), -1px 0px rgba(255, 255, 255, 0.6),
+ 0px 1px rgba(255, 255, 255, 0.6), 0px -1px rgba(255, 255, 255, 0.6),
+ 2px 2px 2px rgba(0, 0, 0, 0.3);
+ -webkit-box-shadow: 1px 0px rgba(255, 255, 255, 0.6), -1px 0px rgba(255, 255, 255, 0.6),
+ 0px 1px rgba(255, 255, 255, 0.6), 0px -1px rgba(255, 255, 255, 0.6),
+ 2px 2px 2px rgba(0, 0, 0, 0.3);
+ box-shadow: 1px 0px rgba(255, 255, 255, 0.6), -1px 0px rgba(255, 255, 255, 0.6),
+ 0px 1px rgba(255, 255, 255, 0.6), 0px -1px rgba(255, 255, 255, 0.6),
+ 2px 2px 2px rgba(0, 0, 0, 0.3);
+}
+
+/*######################-Polygon Navyblue Style-######################*/
+
+.UIInfoBar .PolygonNavyBlueStyle {
+ height: 26px;
+}
+
+.UIInfoBar .PolygonNavyBlueStyle .LeftBar {
+ background: url('background/PolygonNavyBlueStyle.gif') no-repeat left top;
+ padding: 0px 0px 0px 3px;
+}
+
+.UIInfoBar .PolygonNavyBlueStyle .RightBar {
+ background: url('background/PolygonNavyBlueStyle.gif') no-repeat right top;
+ padding: 0px 3px 0px 0px;
+}
+
+.UIInfoBar .PolygonNavyBlueStyle .MiddleBar {
+ height: 26px;
+ background: url('background/PolygonNavyBlueStyle.gif') repeat-x center bottom;
+ padding: 0px 0px 0px 2px;
+}
+
+/*######################-Smooth Style 26 -######################*/
+
+.UIInfoBar .SmoothStyle26 {
+ height: 26px;
+}
+
+.UIInfoBar .SmoothStyle26 .LeftBar {
+ background: url('background/SmoothStyle26.gif') no-repeat left top;
+ padding: 0px 0px 0px 1px;
+}
+
+.UIInfoBar .SmoothStyle26 .RightBar {
+ background: url('background/SmoothStyle26.gif') no-repeat right top;
+ padding: 0px 1px 0px 0px;
+}
+
+.UIInfoBar .SmoothStyle26 .MiddleBar {
+ height: 26px;
+ background: url('background/SmoothStyle26.gif') repeat-x center bottom;
+}
Deleted: portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/webui/component/UIBarDecorator/UIInfoBar/background/BlueRoundedStyle.gif
===================================================================
(Binary files differ)
Added: portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/webui/component/UIBarDecorator/UIInfoBar/background/BlueRoundedStyle.png
===================================================================
(Binary files differ)
Property changes on: portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/webui/component/UIBarDecorator/UIInfoBar/background/BlueRoundedStyle.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Deleted: portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/webui/component/UIBarDecorator/UIInfoBar/background/DefaultContainerIcon.gif
===================================================================
(Binary files differ)
Deleted: portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/webui/component/UIBarDecorator/UIInfoBar/background/Earth.gif
===================================================================
(Binary files differ)
Deleted: portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/webui/component/UIBarDecorator/UIInfoBar/background/ViewBlockBar.png
===================================================================
(Binary files differ)
Modified: portal/branches/dom/web/portal/src/main/webapp/groovy/portal/webui/application/UIPortlet.gtmpl
===================================================================
--- portal/branches/dom/web/portal/src/main/webapp/groovy/portal/webui/application/UIPortlet.gtmpl 2011-09-05 11:06:45 UTC (rev 7300)
+++ portal/branches/dom/web/portal/src/main/webapp/groovy/portal/webui/application/UIPortlet.gtmpl 2011-09-05 12:42:55 UTC (rev 7301)
@@ -24,260 +24,247 @@
%>
<div class="UIPortlet <%=hasPermission?"":"ProtectedPortlet"%>" id="UIPortlet-$portletId" onmouseover="eXo.portal.UIPortal.blockOnMouseOver(event, this, true);" onmouseout="eXo.portal.UIPortal.blockOnMouseOver(event, this, false);"
style="top: 0px; left:0px;">
- <div class="UIComponentBlock">
-
- <%if(portalMode == uiPortalApp.CONTAINER_BLOCK_EDIT_MODE || portalMode == uiPortalApp.APP_BLOCK_EDIT_MODE) { %>
- <div class="LAYOUT-BLOCK LAYOUT-PORTLET">
- <div class="PortletLayoutDecorator">
- <%/*Begin Middle Portlet Layout Decorator*/%>
- <div class="LPortletLayoutDecorator">
- <div class="RPortletLayoutDecorator">
- <div class="CPortletLayoutDecorator">
- <div class="FixHeight">
- <%
- if(hasPermission) {
- print uicomponent.getDisplayTitle();
- } else print "<div class='ProtectedContent'>"+_ctx.appRes("UIPortlet.label.protectedContent")+"</div>";
- %>
- </div>
- </div>
+ <div class="UIComponentBlock">
+
+ <%if(portalMode == uiPortalApp.CONTAINER_BLOCK_EDIT_MODE || portalMode == uiPortalApp.APP_BLOCK_EDIT_MODE) { %>
+ <div class="LAYOUT-BLOCK LAYOUT-PORTLET">
+ <div class="PortletLayoutDecorator">
+ <%/*Begin Middle Portlet Layout Decorator*/%>
+ <div class="LPortletLayoutDecorator">
+ <div class="RPortletLayoutDecorator">
+ <div class="CPortletLayoutDecorator">
+ <div class="FixHeight">
+ <%
+ if(hasPermission) {
+ print uicomponent.getDisplayTitle();
+ } else print "<div class='ProtectedContent'>"+_ctx.appRes("UIPortlet.label.protectedContent")+"</div>";
+ %>
</div>
</div>
-
</div>
</div>
- <%} else { %>
- <div class="VIEW-BLOCK VIEW-PORTLET" id="VIEW-${portletId}">
- <%} %>
- <%
- }
-
- if(portalMode != uiPortalApp.CONTAINER_BLOCK_EDIT_MODE && portalMode != uiPortalApp.APP_BLOCK_EDIT_MODE) {
- if(uicomponent.getShowInfoBar()) {
- String title = uicomponent.getDisplayTitle();
- if(title == null || title.trim().length() < 1)
- title = portletId;
- /*Begin Window Portlet Bar*/
- String visibility = "visible";
- String appDisplay = "block";
- String appZIndex = "";
- String windowWidth = uicomponent.getWidth();
- if(windowWidth!= null && !windowWidth.contains("%") && !windowWidth.contains("px")) windowWidth += "px";
- String windowHeight = uicomponent.getHeight();
- if(windowHeight != null && !windowHeight.contains("%") && !windowHeight.contains("px")) windowHeight += "px";
- String cssStyle = "style=\"";
- cssStyle += "visibility: "+ visibility +";";
- cssStyle += "display: "+ appDisplay +";";
- cssStyle += "z-index: "+ appZIndex +";";
- cssStyle += "width: "+ windowWidth +";";
- //cssStyle += "height: "+ windowHeight +";";
- cssStyle += "\"";
- String theme = uicomponent.getSuitedTheme(null);
- %>
- <div class="UIWindow $theme UIDragObject UIResizeObject" id="UIWindow-${portletId}" ${cssStyle} >
- <div class="WindowBarLeft">
- <div class="WindowBarRight">
- <div class="WindowBarCenter">
- <div class="FixHeight ClearFix">
- <%
-
- String restoreDown = _ctx.appRes("UIPortlet.tooltip.MaximizeRestore");
- String restore = _ctx.appRes("UIPortlet.tooltip.MinimizeRestore");
- String miniTooltip = _ctx.appRes("UIPortlet.tooltip.Minimize");
- String maxiTooltip = _ctx.appRes("UIPortlet.tooltip.Maximize");
- String renderMaxi = maxiTooltip;
- String renderMini = miniTooltip;
- if(windowState == WindowState.MAXIMIZED) {
- renderMaxi = restoreDown;
- } else if(windowState == WindowState.MINIMIZED) {
- renderMini = restore;
- }
- if(uicomponent.getShowWindowState()) {
- String maximizedAction = "eXo.portal.UIPortalControl.changeWindowState('"+portletId+"', 'maximized');";
- String minimizedAction = "eXo.portal.UIPortalControl.changeWindowState('"+portletId+"', 'minimized');";
- String maximizedMode = "Maximized";
- String minimizedMode = "Minimized";
- if(windowState == WindowState.MAXIMIZED) {
- maximizedAction = "eXo.portal.UIPortalControl.changeWindowState('"+portletId+"', 'normal');";
- maximizedMode = "Normal";
- } else if(windowState == WindowState.MINIMIZED) {
- minimizedAction = "eXo.portal.UIPortalControl.changeWindowState('"+portletId+"', 'normal');";
- minimizedMode = "Normal";
- }
- %>
- <div class="ControlIcon ${maximizedMode}Icon" title="$renderMaxi" onclick="$maximizedAction" onmouseover="$onControlOver" onmouseout="$onControlOut"><span></span>
- <div style="display:none">{"normalTitle":"$maxiTooltip","modeTitle":"$restoreDown"}</div>
- </div>
- <div class="ControlIcon ${minimizedMode}Icon" title="$renderMini" onclick="$minimizedAction" onmouseover="$onControlOver" onmouseout="$onControlOut"><span></span>
- <div style="display:none">{"normalTitle":"$miniTooltip","modeTitle":"$restore"}</div>
- </div>
- <%}
-
- List supportModes = uicomponent.getSupportModes();
- if(uicomponent.getShowPortletMode() && supportModes.size() > 0) {
- String showCategory = "eXo.webui.UIPopupSelectCategory.show(this, event);"
- %>
- <div class="ControlIcon ArrowDownIcon" title="<%=_ctx.appRes("UIPortlet.tooltip.PortletMode");%>" onclick="$showCategory" onmouseover="$onControlOver" onmouseout="$onControlOut">
- <% /*Begin Popup Menu*/ %>
- <div style="position: relative; width: 100%">
- <div class="UIPopupCategory" style="display: none;">
- <div class="PopupCategoryDecorator">
- <div class="PopupCategoryTL">
- <div class="PopupCategoryTR">
- <div class="PopupCategoryTC"><span></span></div>
- </div>
+
+ </div>
+ </div>
+ <%} else { %>
+ <div class="VIEW-BLOCK VIEW-PORTLET" id="VIEW-${portletId}">
+ <%} %>
+<%
+ }
+
+ if(portalMode != uiPortalApp.CONTAINER_BLOCK_EDIT_MODE && portalMode != uiPortalApp.APP_BLOCK_EDIT_MODE) {
+ if(uicomponent.getShowInfoBar()) {
+ String title = uicomponent.getDisplayTitle();
+ if(title == null || title.trim().length() < 1)
+ title = portletId;
+ /*Begin Window Portlet Bar*/
+ String visibility = "visible";
+ String appDisplay = "block";
+ String appZIndex = "";
+ String windowWidth = uicomponent.getWidth();
+ if(windowWidth!= null && !windowWidth.contains("%") && !windowWidth.contains("px")) windowWidth += "px";
+ String windowHeight = uicomponent.getHeight();
+ if(windowHeight != null && !windowHeight.contains("%") && !windowHeight.contains("px")) windowHeight += "px";
+ String cssStyle = "style=\"";
+ cssStyle += "visibility: "+ visibility +";";
+ cssStyle += "display: "+ appDisplay +";";
+ cssStyle += "z-index: "+ appZIndex +";";
+ cssStyle += "width: "+ windowWidth +";";
+ //cssStyle += "height: "+ windowHeight +";";
+ cssStyle += "\"";
+ String theme = uicomponent.getSuitedTheme(null);
+ %>
+ <div class="UIWindow $theme UIDragObject UIResizeObject" id="UIWindow-${portletId}" ${cssStyle} >
+ <div class="WindowBarLeft">
+ <div class="WindowBarRight">
+ <div class="WindowBarCenter">
+ <div class="FixHeight ClearFix">
+ <%
+
+ String restoreDown = _ctx.appRes("UIPortlet.tooltip.MaximizeRestore");
+ String restore = _ctx.appRes("UIPortlet.tooltip.MinimizeRestore");
+ String miniTooltip = _ctx.appRes("UIPortlet.tooltip.Minimize");
+ String maxiTooltip = _ctx.appRes("UIPortlet.tooltip.Maximize");
+ String renderMaxi = maxiTooltip;
+ String renderMini = miniTooltip;
+ if(windowState == WindowState.MAXIMIZED) {
+ renderMaxi = restoreDown;
+ } else if(windowState == WindowState.MINIMIZED) {
+ renderMini = restore;
+ }
+ if(uicomponent.getShowWindowState()) {
+ String maximizedAction = "eXo.portal.UIPortalControl.changeWindowState('"+portletId+"', 'maximized');";
+ String minimizedAction = "eXo.portal.UIPortalControl.changeWindowState('"+portletId+"', 'minimized');";
+ String maximizedMode = "Maximized";
+ String minimizedMode = "Minimized";
+ if(windowState == WindowState.MAXIMIZED) {
+ maximizedAction = "eXo.portal.UIPortalControl.changeWindowState('"+portletId+"', 'normal');";
+ maximizedMode = "Normal";
+ } else if(windowState == WindowState.MINIMIZED) {
+ minimizedAction = "eXo.portal.UIPortalControl.changeWindowState('"+portletId+"', 'normal');";
+ minimizedMode = "Normal";
+ }
+ %>
+ <div class="ControlIcon ${maximizedMode}Icon" title="$renderMaxi" onclick="$maximizedAction" onmouseover="$onControlOver" onmouseout="$onControlOut"><span></span>
+ <div style="display:none">{"normalTitle":"$maxiTooltip","modeTitle":"$restoreDown"}</div>
+ </div>
+ <div class="ControlIcon ${minimizedMode}Icon" title="$renderMini" onclick="$minimizedAction" onmouseover="$onControlOver" onmouseout="$onControlOut"><span></span>
+ <div style="display:none">{"normalTitle":"$miniTooltip","modeTitle":"$restore"}</div>
+ </div>
+ <%}
+
+ List supportModes = uicomponent.getSupportModes();
+ if(uicomponent.getShowPortletMode() && supportModes.size() > 0) {
+ String showCategory = "eXo.webui.UIPopupSelectCategory.show(this, event);"
+ %>
+ <div class="ControlIcon ArrowDownIcon" title="<%=_ctx.appRes("UIPortlet.tooltip.PortletMode");%>" onclick="$showCategory" onmouseover="$onControlOver" onmouseout="$onControlOut">
+ <% /*Begin Popup Menu*/ %>
+ <div style="position: relative; width: 100%">
+ <div class="UIPopupCategory" style="display: none;">
+ <div class="PopupCategoryDecorator">
+ <div class="PopupCategoryTL">
+ <div class="PopupCategoryTR">
+ <div class="PopupCategoryTC"><span></span></div>
+ </div>
+ </div>
+ <div class="PopupCategoryML">
+ <div class="PopupCategoryMR">
+ <div class="PopupCategoryMC">
+ <%
+ for(String mode in supportModes) {
+ if(mode.equals("edit") && rcontext.getRemoteUser()==null) continue;
+ String actionLink = uicomponent.event("ChangePortletMode", mode);
+ String modeLabel = _ctx.appRes("PortletMode.label." + mode);
+ String upper = mode.charAt(0).toString();
+ mode = mode.replaceFirst(upper, upper.toUpperCase());
+ %>
+ <a class="CategoryItem" href="$actionLink" title="$modeLabel">
+ <div class="CategoryItemLabel" >$modeLabel</div>
+ </a>
+ <%
+ }
+ if(supportModes != null && supportModes.size() > 0 && !supportModes.contains("view")) {
+ String modeLabel = _ctx.appRes("PortletMode.label.view");
+ %>
+ <a class="CategoryItem" href="<%=uicomponent.event("ChangePortletMode", "view")%>" title="$modeLabel">
+ <div class="CategoryItemLabel">$modeLabel</div>
+ </a>
+ <%}%>
</div>
- <div class="PopupCategoryML">
- <div class="PopupCategoryMR">
- <div class="PopupCategoryMC">
- <%
- for(String mode in supportModes) {
- if(mode.equals("edit") && rcontext.getRemoteUser()==null) continue;
- String actionLink = uicomponent.event("ChangePortletMode", mode);
- String modeLabel = _ctx.appRes("PortletMode.label." + mode);
- String upper = mode.charAt(0).toString();
- mode = mode.replaceFirst(upper, upper.toUpperCase());
- %>
- <a class="CategoryItem" href="$actionLink" title="$modeLabel">
- <div class="CategoryItemLabel" >$modeLabel</div>
- </a>
- <%
- }
- if(supportModes != null && supportModes.size() > 0 && !supportModes.contains("view")) {
- String modeLabel = _ctx.appRes("PortletMode.label.view");
- %>
- <a class="CategoryItem" href="<%=uicomponent.event("ChangePortletMode", "view")%>" title="$modeLabel">
- <div class="CategoryItemLabel">$modeLabel</div>
- </a>
- <%}%>
- </div>
- </div>
- </div>
- <div class="PopupCategoryBL">
- <div class="PopupCategoryBR">
- <div class="PopupCategoryBC"><span></span></div>
- </div>
- </div>
</div>
</div>
+ <div class="PopupCategoryBL">
+ <div class="PopupCategoryBR">
+ <div class="PopupCategoryBC"><span></span></div>
+ </div>
+ </div>
</div>
- <% /*End Popup Menu*/ %>
</div>
- <%}%>
-
- <%
- /*TODO: modify: dang.tung - fixed icon themes*/
- String portletIcon = uicomponent.getIcon();
- if(portletIcon == null) portletIcon = "PortletIcon";
- %>
- <div class="$portletIcon WindowPortletIcon NovaPortletIcon WindowPortletInfo"><div class="PortletName"><%=hasPermission ? title : _ctx.appRes("UIPortlet.label.protectedContent")%></div></div>
-
- </div>
- </div>
+ </div>
+ <% /*End Popup Menu*/ %>
+ </div>
+ <%}%>
+
+ <%
+ /*TODO: modify: dang.tung - fixed icon themes*/
+ String portletIcon = uicomponent.getIcon();
+ if(portletIcon == null) portletIcon = "PortletIcon";
+ %>
+ <div class="$portletIcon WindowPortletIcon NovaPortletIcon WindowPortletInfo"><div class="PortletName"><%=hasPermission ? title : _ctx.appRes("UIPortlet.label.protectedContent")%></div></div>
+
</div>
</div>
- <%/*End Window Portlet Bar*/ %>
-
- <div class="MiddleDecoratorLeft">
- <div class="MiddleDecoratorRight">
- <div class="MiddleDecoratorCenter">
- <div id="<%=portalMode == UIPortalApplication.NORMAL_MODE ? portletId : "EditMode-"+ portletId%>" style="width: 100%">
- <div class="PORTLET-FRAGMENT UIResizableBlock UIApplication" style="width: 100%; height: $windowHeight;">
- <%
- if(windowState != WindowState.MINIMIZED) {
- if(hasPermission) println portletContent;
- else println "<div class='ProtectedContent'>"+_ctx.appRes("UIPortlet.label.protectedContent")+"</div>";
- }
- %>
- </div>
- </div>
- </div>
+ </div>
+ </div>
+ <%/*End Window Portlet Bar*/ %>
+
+ <div class="MiddleDecoratorLeft">
+ <div class="MiddleDecoratorRight">
+ <div class="MiddleDecoratorCenter">
+ <div id="<%=portalMode == UIPortalApplication.NORMAL_MODE ? portletId : "EditMode-"+ portletId%>" style="width: 100%">
+ <div class="PORTLET-FRAGMENT UIResizableBlock UIApplication" style="width: 100%; height: $windowHeight;">
+ <%
+ if(windowState != WindowState.MINIMIZED) {
+ if(hasPermission) println portletContent;
+ else println "<div class='ProtectedContent'>"+_ctx.appRes("UIPortlet.label.protectedContent")+"</div>";
+ }
+ %>
+ </div>
</div>
</div>
-
- <%//Begin Bottom Decorator %>
- <div class="BottomDecoratorLeft">
- <div class="BottomDecoratorRight">
- <div class="BottomDecoratorCenter">
- <div class="FixHeight ClearFix">
- <div class="ResizeArea" title="<%=_ctx.appRes("UIPortlet.tooltip.ResizeWindow");%>"><span></span></div>
- <div class="Information"><%=_ctx.appRes("UIPortlet.lable.information");%></div>
- </div>
- </div>
- </div>
- </div>
</div>
- <%//End Bottom Decorator %>
- <%
- } else {
- if(windowState != WindowState.MINIMIZED) {
- String windowWidth = uicomponent.getWidth();
- if(windowWidth!= null && !windowWidth.contains("%") && !windowWidth.contains("px")) windowWidth += "px";
- String windowHeight = uicomponent.getHeight();
- if(windowHeight != null && !windowHeight.contains("%") && !windowHeight.contains("px")) windowHeight += "px";
- String cssStyle = "style=\"";
- cssStyle += "width: "+ windowWidth +";";
- cssStyle += "height: "+ windowHeight +";";
- cssStyle += "\"";
- %>
- <div id="<%=portalMode == UIPortalApplication.NORMAL_MODE ? portletId : "EditMode-"+ portletId%>">
- <div class="PORTLET-FRAGMENT" ${cssStyle}>
- <%
- if(hasPermission) println portletContent;
- else println "<div class='ProtectedContent'>"+_ctx.appRes("UIPortlet.label.protectedContent")+"</div>";
- %>
- </div>
- </div>
- <%
- }
- }
- }
- if(uiPortalApp.isEditing()) {
- if(portalMode != uiPortalApp.CONTAINER_BLOCK_EDIT_MODE && portalMode != uiPortalApp.APP_BLOCK_EDIT_MODE) {
- %>
- <div class="UIPortletMaskParent" style="height: 0px;position:relative;">
- <div class="UIPortlet-$portletId UIPortletMask" style="position: absolute;"><span></span></div>
- </div>
</div>
- <%} %>
-
- <div class="EDITION-BLOCK EDITION-PORTLET" style="display: none;">
- <div style="position: relative; z-index: 999;">
- <div style="position: absolute; top: -86px;">
- <div class="NewLayer"><span></span></div>
- <div class="CONTROL-PORTLET CONTROL-BLOCK" style="position: absolute; top: -6px;">
- <%/*Begin InfoBar*/%>
- <div class="UIInfoBar">
- <div class="BlueRoundedStyle">
- <div class="LeftBar">
- <div class="RightBar">
- <div class="MiddleBar">
- <div class="FixHeight ClearFix">
- <div class="DragControlArea" title="<%=_ctx.appRes("UIPortlet.tooltip.DragControl");%>" onmousedown="eXo.portal.PortalDragDrop.init.call(this,event);"><span></span></div>
- <%
- String portletIcon = uicomponent.getIcon();
- if(portletIcon == null) portletIcon = "PortletIcon";
-
- String title = uicomponent.getDisplayTitle();
- if(title.length() > 30) title = title.substring(0,27) + "...";
- %>
- <div class="PortletIcon $portletIcon"><%=hasPermission ? title : _ctx.appRes("UIPortlet.label.protectedContent")%></div>
- <%if(hasPermission) {%>
- <a href="<%=uicomponent.event("EditPortlet","$uicomponent.id")%>;" class="EditPortletPropertiesIcon" title="<%=_ctx.appRes("UIPortlet.tooltip.editPortlet");%>"></a>
- <a href="<%=uicomponent.event("DeleteComponent","$uicomponent.id")%>" class="DeletePortletIcon" title="<%=_ctx.appRes("UIPortlet.tooltip.deletePortlet");%>"></a>
- <%}%>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- <%/*End InfoBar*/ %>
+
+ <%//Begin Bottom Decorator %>
+ <div class="BottomDecoratorLeft">
+ <div class="BottomDecoratorRight">
+ <div class="BottomDecoratorCenter">
+ <div class="FixHeight ClearFix">
+ <div class="ResizeArea" title="<%=_ctx.appRes("UIPortlet.tooltip.ResizeWindow");%>"><span></span></div>
+ <div class="Information"><%=_ctx.appRes("UIPortlet.lable.information");%></div>
</div>
</div>
</div>
</div>
-
</div>
+<%//End Bottom Decorator %>
+<%
+ } else {
+ if(windowState != WindowState.MINIMIZED) {
+ String windowWidth = uicomponent.getWidth();
+ if(windowWidth!= null && !windowWidth.contains("%") && !windowWidth.contains("px")) windowWidth += "px";
+ String windowHeight = uicomponent.getHeight();
+ if(windowHeight != null && !windowHeight.contains("%") && !windowHeight.contains("px")) windowHeight += "px";
+ String cssStyle = "style=\"";
+ cssStyle += "width: "+ windowWidth +";";
+ cssStyle += "height: "+ windowHeight +";";
+ cssStyle += "\"";
+%>
+ <div id="<%=portalMode == UIPortalApplication.NORMAL_MODE ? portletId : "EditMode-"+ portletId%>">
+ <div class="PORTLET-FRAGMENT" ${cssStyle}>
+ <%
+ if(hasPermission) println portletContent;
+ else println "<div class='ProtectedContent'>"+_ctx.appRes("UIPortlet.label.protectedContent")+"</div>";
+ %>
+ </div>
+ </div>
+<%
+ }
+ }
+}
+ if(uiPortalApp.isEditing()) {
+ if(portalMode != uiPortalApp.CONTAINER_BLOCK_EDIT_MODE && portalMode != uiPortalApp.APP_BLOCK_EDIT_MODE) {
+%>
+ <div class="UIPortletMaskParent" style="height: 0px;position:relative;">
+ <div class="UIPortlet-$portletId UIPortletMask" style="position: absolute;"><span></span></div>
+ </div>
+ </div>
+ <%} %>
+
+ <div class="EDITION-BLOCK EDITION-PORTLET" style="display: none;position: relative; z-index: 999;">
+ <div style="position: absolute; top: -86px;">
+ <div class="NewLayer"><span></span></div>
+ <div class="CONTROL-PORTLET CONTROL-BLOCK UIInfoBar">
+ <%/*Begin InfoBar*/%>
+ <div class="BlueRoundedStyle ClearFix">
+ <div class="DragControlArea" title="<%=_ctx.appRes("UIPortlet.tooltip.DragControl");%>" onmousedown="eXo.portal.PortalDragDrop.init.call(this,event);"><span></span></div>
+ <%
+ String portletIcon = uicomponent.getIcon();
+ if(portletIcon == null) portletIcon = "PortletIcon";
+
+ String title = uicomponent.getDisplayTitle();
+ if(title.length() > 30) title = title.substring(0,27) + "...";
+ %>
+ <div class="PortletIcon $portletIcon"><%=hasPermission ? title : _ctx.appRes("UIPortlet.label.protectedContent")%></div>
+ <%if(hasPermission) {%>
+ <a href="<%=uicomponent.event("EditPortlet","$uicomponent.id")%>;eXo.portal.UIPortal.changeComposerSaveButton()" class="EditIcon" title="<%=_ctx.appRes("UIPortlet.tooltip.editPortlet");%>"></a>
+ <a href="<%=uicomponent.event("DeleteComponent","$uicomponent.id")%>" class="DeleteIcon" title="<%=_ctx.appRes("UIPortlet.tooltip.deletePortlet");%>"></a>
+ <%}%>
+ </div>
+ <%/*End InfoBar*/ %>
+ </div>
+ </div>
+ </div>
+ </div>
</div>
<%}%>
\ No newline at end of file
Modified: portal/branches/dom/web/portal/src/main/webapp/groovy/portal/webui/container/UIContainer.gtmpl
===================================================================
--- portal/branches/dom/web/portal/src/main/webapp/groovy/portal/webui/container/UIContainer.gtmpl 2011-09-05 11:06:45 UTC (rev 7300)
+++ portal/branches/dom/web/portal/src/main/webapp/groovy/portal/webui/container/UIContainer.gtmpl 2011-09-05 12:42:55 UTC (rev 7301)
@@ -29,9 +29,7 @@
id="${uicomponent.id}" ${cssStyle}
onmouseover="eXo.portal.UIPortal.blockOnMouseOver(event, this, true);"
onmouseout="eXo.portal.UIPortal.blockOnMouseOver(event, this, false);">
- <div class="NormalContainerBlock">
- <div class="LeftContainerBlock">
- <div class="RightContainerBlock UIComponentBlock">
+ <div class="NormalContainerBlock UIComponentBlock">
<%
int portalMode = uiPortalApp.getModeState();
@@ -42,8 +40,8 @@
<div class="VIEW-CONTAINER VIEW-BLOCK">
<%} %>
<%if(hasPermission) {%>
- <div>
- <div class="UIRowContainer <%=(portalMode != UIPortalApplication.NORMAL_MODE && uicomponent.getChildren().size() == 0) ? "EmptyContainer" : ""%>">
+ <div class="UIRowContainer <%=(portalMode != UIPortalApplication.NORMAL_MODE && uicomponent.getChildren().size() == 0) ? "EmptyContainer" : ""%>">
+ <div>
<%uicomponent.renderChildren();%>
</div>
</div>
@@ -51,47 +49,29 @@
</div>
<%if(portalMode != UIPortalApplication.NORMAL_MODE){%>
- <div class="EDITION-BLOCK EDITION-CONTAINER" style="display: none;">
- <div style="position: relative;">
- <div style="position: absolute; top: -86px;">
-
- <div class="NewLayer" style="display: none; visibility: hidden;"><span></span></div>
- <div class="CONTROL-CONTAINER CONTROL-BLOCK" style="position: absolute; top: -6px;">
- <%/*Begin InfoBar*/%>
- <div class="UIInfoBar">
- <div class="BlueRoundedStyle">
- <div class="LeftBar">
- <div class="RightBar">
- <div class="MiddleBar">
- <div class="FixHeight ClearFix">
- <div class="DragControlArea" title="<%=_ctx.appRes("UIContainer.title.DragControlArea")%>" onmousedown="eXo.portal.PortalDragDrop.init.call(this,event);"><span></span></div>
- <%
- String strTitle = uicomponent.getTitle() != null ?
- ExpressionUtil.getExpressionValue(res, uicomponent.getTitle()) :
- _ctx.appRes("UIContainer.title.Container");
- %>
- <div class="ContainerIcon"><%=hasPermission ? strTitle : _ctx.appRes("UIPortlet.label.protectedContent")%></div>
- <%if(hasPermission) {%>
- <a href="<%=uicomponent.event("EditContainer")%>" class="EditContainerIcon" title="<%=_ctx.appRes("UIContainer.tooltip.editContainer")%>"><span></span></a>
- <a href="<%=uicomponent.event("DeleteComponent")%>" class="DeleteContainerIcon" title="<%=_ctx.appRes("UIContainer.tooltip.closeContainer")%>"><span></span></a>
- <%}%>
-
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- <%/*End InfoBar*/ %>
- </div>
-
- </div>
+ <div class="EDITION-BLOCK EDITION-CONTAINER" style="display: none;position: relative;">
+ <div style="position: absolute; top: -86px;">
+ <div class="NewLayer" style="display: none; visibility: hidden;"><span></span></div>
+ <div class="CONTROL-CONTAINER CONTROL-BLOCK UIInfoBar">
+ <%/*Begin InfoBar*/%>
+
+ <div class="BlueRoundedStyle ClearFix">
+ <div class="DragControlArea" title="<%=_ctx.appRes("UIContainer.title.DragControlArea")%>" onmousedown="eXo.portal.PortalDragDrop.init.call(this,event);"><span></span></div>
+ <%
+ String strTitle = uicomponent.getTitle() != null ?
+ ExpressionUtil.getExpressionValue(res, uicomponent.getTitle()) :
+ _ctx.appRes("UIContainer.title.Container");
+ %>
+ <div class="ContainerIcon"><%=hasPermission ? strTitle : _ctx.appRes("UIPortlet.label.protectedContent")%></div>
+ <%if(hasPermission) {%>
+ <a href="<%=uicomponent.event("EditContainer")%>;eXo.portal.UIPortal.changeComposerSaveButton()" class="EditContainerIcon" title="<%=_ctx.appRes("UIContainer.tooltip.editContainer")%>"></a>
+ <a href="<%=uicomponent.event("DeleteComponent")%>" class="DeleteContainerIcon" title="<%=_ctx.appRes("UIContainer.tooltip.closeContainer")%>"><span></span></a>
+ <%}%>
+ </div>
+ <%/*End InfoBar*/ %>
</div>
</div>
- <%} %>
-
- </div>
- </div>
- </div>
-</div>
-
+ </div>
+ <%} %>
+ </div>
+</div>
\ No newline at end of file
Modified: portal/branches/dom/web/portal/src/main/webapp/groovy/portal/webui/container/UITableAutofitColumnContainer.gtmpl
===================================================================
--- portal/branches/dom/web/portal/src/main/webapp/groovy/portal/webui/container/UITableAutofitColumnContainer.gtmpl 2011-09-05 11:06:45 UTC (rev 7300)
+++ portal/branches/dom/web/portal/src/main/webapp/groovy/portal/webui/container/UITableAutofitColumnContainer.gtmpl 2011-09-05 12:42:55 UTC (rev 7301)
@@ -20,10 +20,7 @@
id="${uicomponent.id}"
onmouseover="eXo.portal.UIPortal.blockOnMouseOver(event, this, true);"
onmouseout="eXo.portal.UIPortal.blockOnMouseOver(event, this, false);">
- <div class="NormalContainerBlock">
- <div class="LeftContainerBlock">
- <div class="RightContainerBlock UIComponentBlock">
-
+ <div class="NormalContainerBlock UIComponentBlock">
<%
int portalMode = uiPortalApp.getModeState();
String style = "";
@@ -39,10 +36,10 @@
<%} %>
<div>
<%if(hasPermission) {%>
- <table class="UITableColumn" margin: 0px auto; $style">
+ <table class="UITableColumnContainer" style="margin: 0px auto; $style">
<tr class="TRContainer">
<% for(uiChild in uicomponent.getChildren()) {%>
- <td class="${uiChild.id}TDContainer" <% if(uiChild.getWidth()) { %> width="<%= uiChild.getWidth(); %>" <% } %>><% uicomponent.renderUIComponent(uiChild) %></td>
+ <td class="${uiChild.id}TDContainer TDContainer" <% if(uiChild.getWidth()) { %> width="<%= uiChild.getWidth(); %>" <% } %>><% uicomponent.renderUIComponent(uiChild) %></td>
<% } %>
</tr>
</table>
@@ -52,46 +49,28 @@
<%/*Debug On IE -----For DND */%>
<%if(portalMode != UIPortalApplication.NORMAL_MODE){%>
- <div class="EDITION-BLOCK EDITION-CONTAINER" style="display: none;">
- <div style="position: relative;">
- <div style="position: absolute; top: -86px;">
-
- <div class="NewLayer" style="display: none; visibility: hidden;"><span></span></div>
- <div class="CONTROL-CONTAINER CONTROL-BLOCK" style="position: absolute; top: -6px;">
- <%/*Begin InfoBar*/%>
- <div class="UIInfoBar">
- <div class="BlueRoundedStyle">
- <div class="LeftBar">
- <div class="RightBar">
- <div class="MiddleBar">
- <div class="FixHeight ClearFix">
- <div class="DragControlArea" title="<%=_ctx.appRes("UITableColumnContainer.title.DragControlArea")%>" onmousedown="eXo.portal.PortalDragDrop.init.call(this,event);"><span></span></div>
- <%
- String strTitle = uicomponent.getTitle() != null ?
- ExpressionUtil.getExpressionValue(res, uicomponent.getTitle()) :
- _ctx.appRes("UITableColumnContainer.title.Container");
- %>
- <div class="ContainerIcon DefaultContainer16x16Icon"><%=hasPermission ? strTitle : _ctx.appRes("UIPortlet.label.protectedContent")%></div>
- <%if(hasPermission) {%>
- <a href="<%=uicomponent.event("EditContainer","$uicomponent.id")%>" class="EditContainerIcon" title="<%=_ctx.appRes("UITableColumnContainer.tooltip.editContainer")%>"><span></span></a>
- <a href="<%=uicomponent.event("DeleteComponent","$uicomponent.id")%>" class="DeleteContainerIcon" title="<%=_ctx.appRes("UITableColumnContainer.tooltip.closeContainer")%>"><span></span></a>
- <%}%>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- <%/*End InfoBar*/ %>
- </div>
-
- </div>
+ <div class="EDITION-BLOCK EDITION-CONTAINER" style="display: none; position: relative;">
+ <div style="position: absolute; top: -86px;">
+ <div class="NewLayer" style="display: none; visibility: hidden;"><span></span></div>
+ <div class="CONTROL-CONTAINER CONTROL-BLOCK UIInfoBar">
+ <%/*Begin InfoBar*/%>
+ <div class="BlueRoundedStyle ClearFix">
+ <div class="DragControlArea" title="<%=_ctx.appRes("UIContainer.tooltip.drag")%>" onmousedown="eXo.portal.PortalDragDrop.init.call(this,event);"><span></span></div>
+ <%
+ String strTitle = uicomponent.getTitle() != null ?
+ ExpressionUtil.getExpressionValue(res, uicomponent.getTitle()) :
+ _ctx.appRes("UIContainer.title.Container");
+ %>
+ <div class="ContainerIcon DefaultContainer16x16Icon"><%=hasPermission ? strTitle : _ctx.appRes("UIPortlet.label.protectedContent")%></div>
+ <%if(hasPermission) {%>
+ <a href="<%=uicomponent.event("EditContainer","$uicomponent.id")%>;eXo.portal.UIPortal.changeComposerSaveButton()" class="EditContainerIcon" title="<%=_ctx.appRes("UIContainer.tooltip.editContainer")%>"><span></span></a>
+ <a href="<%=uicomponent.event("DeleteComponent","$uicomponent.id")%>" class="DeleteContainerIcon" title="<%=_ctx.appRes("UIContainer.tooltip.closeContainer")%>"><span></span></a>
+ <%}%>
</div>
+ <%/*End InfoBar*/ %>
</div>
- <%} %>
-
</div>
</div>
+ <%} %>
</div>
-
</div>
\ No newline at end of file
Modified: portal/branches/dom/web/portal/src/main/webapp/groovy/portal/webui/container/UITableColumnContainer.gtmpl
===================================================================
--- portal/branches/dom/web/portal/src/main/webapp/groovy/portal/webui/container/UITableColumnContainer.gtmpl 2011-09-05 11:06:45 UTC (rev 7300)
+++ portal/branches/dom/web/portal/src/main/webapp/groovy/portal/webui/container/UITableColumnContainer.gtmpl 2011-09-05 12:42:55 UTC (rev 7301)
@@ -19,11 +19,8 @@
<div class="UIContainer UITableColumnContainer <%=uiPortalApp.isEditing()?"EdittingContainer":""%> <%=hasPermission?"":"ProtectedContainer"%>"
id="${uicomponent.id}"
onmouseover="eXo.portal.UIPortal.blockOnMouseOver(event, this, true);"
- onmouseout="eXo.portal.UIPortal.blockOnMouseOver(event, this, false);">
- <div class="NormalContainerBlock">
- <div class="LeftContainerBlock">
- <div class="RightContainerBlock UIComponentBlock">
-
+ onmouseout="eXo.portal.UIPortal.blockOnMouseOver(event, this, false);">
+ <div class="NormalContainerBlock UIComponentBlock">
<%
int portalMode = uiPortalApp.getModeState();
String style = "";
@@ -39,59 +36,41 @@
<%} %>
<div>
<%if(hasPermission) {%>
- <table class="UITableColumn" style="table-layout: fixed; margin: 0px auto; $style">
+ <table class="UITableColumnContainer" style="table-layout: fixed; margin: 0px auto; $style">
<tr class="TRContainer">
<% for(uiChild in uicomponent.getChildren()) {%>
- <td class="${uiChild.id}TDContainer" <% if(uiChild.getWidth()) { %> width="<%= uiChild.getWidth(); %>" <% } %>><% uicomponent.renderUIComponent(uiChild) %></td>
+ <td class="${uiChild.id}TDContainer TDContainer" <% if(uiChild.getWidth()) { %> width="<%= uiChild.getWidth(); %>" <% } %>><% uicomponent.renderUIComponent(uiChild) %></td>
<% } %>
- </tr>
- </table>
+ </tr>
+ </table>
<%} else {print "<div class='ProtectedContent'>"+_ctx.appRes("UIPortlet.label.protectedContent")+"</div>";}%>
</div>
</div>
<%/*Debug On IE -----For DND */%>
<%if(portalMode != UIPortalApplication.NORMAL_MODE){%>
- <div class="EDITION-BLOCK EDITION-CONTAINER" style="display: none;">
- <div style="position: relative;">
- <div style="position: absolute; top: -86px;">
-
- <div class="NewLayer" style="display: none; visibility: hidden;"><span></span></div>
- <div class="CONTROL-CONTAINER CONTROL-BLOCK" style="position: absolute; top: -6px;">
- <%/*Begin InfoBar*/%>
- <div class="UIInfoBar">
- <div class="BlueRoundedStyle">
- <div class="LeftBar">
- <div class="RightBar">
- <div class="MiddleBar">
- <div class="FixHeight ClearFix">
- <div class="DragControlArea" title="<%=_ctx.appRes("UITableColumnContainer.title.DragControlArea")%>" onmousedown="eXo.portal.PortalDragDrop.init.call(this,event);"><span></span></div>
- <%
- String strTitle = uicomponent.getTitle() != null ?
- ExpressionUtil.getExpressionValue(res, uicomponent.getTitle()) :
- _ctx.appRes("UITableColumnContainer.title.Container");
- %>
- <div class="ContainerIcon DefaultContainer16x16Icon"><%=hasPermission ? strTitle : _ctx.appRes("UIPortlet.label.protectedContent")%></div>
- <%if(hasPermission) {%>
- <a href="<%=uicomponent.event("EditContainer","$uicomponent.id")%>" class="EditContainerIcon" title="<%=_ctx.appRes("UITableColumnContainer.tooltip.editContainer")%>"><span></span></a>
- <a href="<%=uicomponent.event("DeleteComponent","$uicomponent.id")%>" class="DeleteContainerIcon" title="<%=_ctx.appRes("UITableColumnContainer.tooltip.closeContainer")%>"><span></span></a>
- <%}%>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- <%/*End InfoBar*/ %>
- </div>
-
- </div>
+ <div class="EDITION-BLOCK EDITION-CONTAINER" style="display: none;position: relative;">
+ <div style="position: absolute; top: -86px;">
+ <div class="NewLayer" style="display: none; visibility: hidden;"><span></span></div>
+ <div class="CONTROL-CONTAINER CONTROL-BLOCK UIInfoBar">
+ <%/*Begin InfoBar*/%>
+ <div class="BlueRoundedStyle ClearFix">
+ <div class="DragControlArea" title="<%=_ctx.appRes("UIContainer.tooltip.drag")%>" onmousedown="eXo.portal.PortalDragDrop.init.call(this,event);"><span></span></div>
+ <%
+ String strTitle = uicomponent.getTitle() != null ?
+ ExpressionUtil.getExpressionValue(res, uicomponent.getTitle()) :
+ _ctx.appRes("UIContainer.title.Container");
+ %>
+ <div class="ContainerIcon DefaultContainer16x16Icon"><%=hasPermission ? strTitle : _ctx.appRes("UIPortlet.label.protectedContent")%></div>
+ <%if(hasPermission) {%>
+ <a href="<%=uicomponent.event("EditContainer","$uicomponent.id")%>;eXo.portal.UIPortal.changeComposerSaveButton()" class="EditContainerIcon" title="<%=_ctx.appRes("UIContainer.tooltip.editContainer")%>"></a>
+ <a href="<%=uicomponent.event("DeleteComponent","$uicomponent.id")%>" class="DeleteContainerIcon" title="<%=_ctx.appRes("UIContainer.tooltip.closeContainer")%>"></a>
+ <%}%>
</div>
+ <%/*End InfoBar*/ %>
</div>
- <%} %>
-
</div>
</div>
- </div>
-
+ <%} %>
+ </div>
</div>
\ No newline at end of file
Modified: portal/branches/dom/web/portal/src/main/webapp/groovy/portal/webui/container/UIToolbarContainer.gtmpl
===================================================================
--- portal/branches/dom/web/portal/src/main/webapp/groovy/portal/webui/container/UIToolbarContainer.gtmpl 2011-09-05 11:06:45 UTC (rev 7300)
+++ portal/branches/dom/web/portal/src/main/webapp/groovy/portal/webui/container/UIToolbarContainer.gtmpl 2011-09-05 12:42:55 UTC (rev 7301)
@@ -48,40 +48,26 @@
</div>
<%/*Debug On IE -----For DND */%>
- <%if(portalMode != UIPortalApplication.NORMAL_MODE){%>
- <div class="EDITION-BLOCK EDITION-CONTAINER" style="display: none;">
- <div style="position: relative;">
- <div style="position: absolute; top: -86px;">
-
- <div class="NewLayer" style="display: none; visibility: hidden;"><span></span></div>
- <div class="CONTROL-CONTAINER CONTROL-BLOCK" style="position: absolute; top: -6px;">
- <%/*Begin InfoBar*/%>
- <div class="UIInfoBar">
- <div class="BlueRoundedStyle">
- <div class="LeftBar">
- <div class="RightBar">
- <div class="MiddleBar">
- <div class="FixHeight ClearFix">
- <div class="DragControlArea" title="<%=_ctx.appRes("UIContainer.tooltip.drag")%>" onmousedown="eXo.portal.PortalDragDrop.init.call(this,event);"><span></span></div>
- <%
- String strTitle = uicomponent.getTitle() != null ?
- ExpressionUtil.getExpressionValue(res, uicomponent.getTitle()) :
- _ctx.appRes("UIContainer.title.Container");
- %>
- <div class="ContainerIcon DefaultContainer16x16Icon"><%=hasPermission ? strTitle : _ctx.appRes("UIPortlet.label.protectedContent")%></div>
- <%if(hasPermission) {%>
- <a href="<%=uicomponent.event("EditContainer","$uicomponent.id")%>;" class="EditContainerIcon" title="<%=_ctx.appRes("UIContainer.tooltip.editContainer")%>"><span></span></a>
- <a href="<%=uicomponent.event("DeleteComponent","$uicomponent.id")%>" class="DeleteContainerIcon" title="<%=_ctx.appRes("UIContainer.tooltip.closeContainer")%>"><span></span></a>
- <%}%>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- <%/*End InfoBar*/ %>
+ <%if(portalMode != UIPortalApplication.NORMAL_MODE){%>
+ <div class="EDITION-BLOCK EDITION-CONTAINER" style="display: none;position: relative;">
+ <div style="position: absolute; top: -86px;">
+ <div class="NewLayer" style="display: none; visibility: hidden;"><span></span></div>
+ <div class="CONTROL-CONTAINER CONTROL-BLOCK UIInfoBar">
+ <%/*Begin InfoBar*/%>
+ <div class="BlueRoundedStyle">
+ <div class="DragControlArea" title="<%=_ctx.appRes("UIContainer.tooltip.drag")%>" onmousedown="eXo.portal.PortalDragDrop.init.call(this,event);"><span></span></div>
+ <%
+ String strTitle = uicomponent.getTitle() != null ?
+ ExpressionUtil.getExpressionValue(res, uicomponent.getTitle()) :
+ _ctx.appRes("UIContainer.title.Container");
+ %>
+ <div class="ContainerIcon DefaultContainer16x16Icon"><%=hasPermission ? strTitle : _ctx.appRes("UIPortlet.label.protectedContent")%></div>
+ <%if(hasPermission) {%>
+ <a href="<%=uicomponent.event("EditContainer","$uicomponent.id")%>;eXo.portal.UIPortal.changeComposerSaveButton()" class="EditContainerIcon" title="<%=_ctx.appRes("UIContainer.tooltip.editContainer")%>"><span></span></a>
+ <a href="<%=uicomponent.event("DeleteComponent","$uicomponent.id")%>" class="DeleteContainerIcon" title="<%=_ctx.appRes("UIContainer.tooltip.closeContainer")%>"><span></span></a>
+ <%}%>
</div>
-
+ <%/*End InfoBar*/ %>
</div>
</div>
</div>
13 years, 3 months
gatein SVN: r7300 - in portal/branches/dom: examples/skins/simpleskin/src/main/webapp/skin/webPortlet/webui/component/UIPortalNavigationPortlet/background and 4 other directories.
by do-not-reply@jboss.org
Author: phuong_vu
Date: 2011-09-05 07:06:45 -0400 (Mon, 05 Sep 2011)
New Revision: 7300
Added:
portal/branches/dom/examples/skins/simpleskin/src/main/webapp/skin/webPortlet/webui/component/UIPortalNavigationPortlet/background/NavDownArrow_ar.gif
Modified:
portal/branches/dom/examples/skins/simpleskin/src/main/webapp/skin/SimpleSkin/UITabPaneDashboard/Stylesheet.css
portal/branches/dom/portlet/dashboard/src/main/webapp/groovy/dashboard/webui/component/UITabPaneDashboard.gtmpl
portal/branches/dom/portlet/exoadmin/src/main/webapp/groovy/admintoolbar/webui/component/UIUserToolBarDashboardPortlet.gtmpl
portal/branches/dom/web/eXoResources/src/main/webapp/javascript/eXo/webui/UITabbedDashboard.js
portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIDashboard/Stylesheet.css
Log:
[DOM] UITabPaneDashboard optimization
Modified: portal/branches/dom/examples/skins/simpleskin/src/main/webapp/skin/SimpleSkin/UITabPaneDashboard/Stylesheet.css
===================================================================
--- portal/branches/dom/examples/skins/simpleskin/src/main/webapp/skin/SimpleSkin/UITabPaneDashboard/Stylesheet.css 2011-09-05 11:03:32 UTC (rev 7299)
+++ portal/branches/dom/examples/skins/simpleskin/src/main/webapp/skin/SimpleSkin/UITabPaneDashboard/Stylesheet.css 2011-09-05 11:06:45 UTC (rev 7300)
@@ -1,97 +1,38 @@
-#UITabbedDashboardPortlet {
- padding: 0 8px;
-}
.UITabPaneDashboard {
- background: #f9f9f9;
+ background-color: #F0F0F0;
border-bottom: 1px solid #e5e5e5;
- padding: 0px 9px;
+ padding: 0px 9px;
+ -moz-border-radius: 0;
+ -webkit-border-radius: 0;
+ border-radius: 0;
+ margin: 0 8px;
}
-
-.UITabPaneDashboard .LtTabDashboard {
- padding: 0;
- background: none;
+.UITabPaneDashboard .AddDashboard{
+ background-image: url('background/AddDashboard.gif');
+ width: 22px;
}
-.UITabPaneDashboard .RtTabDashboard {
- padding: 0;
- background: none;
-}
-
-.UITabPaneDashboard .CtTabDashboard {
- padding: 0;
- background: none;
-}
-
-.UITabPaneDashboard .UIHorizontalTabs {
- padding: 5px 0px 4px 0px;
-}
-
-.UITabPaneDashboard .UIHorizontalTabs .TabsContainer {
- height: auto;
-}
-
-.UITabPaneDashboard .UIHorizontalTabs .GrayTabStyle {
- margin: 0px 4px 0px 0px;
-}
-
-.UITabPaneDashboard .UIHorizontalTabs .GrayTabStyle .NormalTab .MiddleTab,
-.UITabPaneDashboard .UIHorizontalTabs .GrayTabStyle .SelectedTab .MiddleTab {
- padding: 0px;
-}
-
-.UITabPaneDashboard .UIHorizontalTabs .UITab span {
- margin: 0px 10px;
- font-weight: normal;
-}
-
-.UITabPaneDashboard .UIHorizontalTabs .UITab .CloseIcon {
- background: url('background/IconClose.gif') no-repeat left top;
- width: 16px;
- height: 16px;
- cursor: pointer;
-}
-
-.UITabPaneDashboard .UIHorizontalTabs .AddDashboard {
- background: url('background/AddDashboard.gif') no-repeat left top;
- width: 22px; height: 22px;
- float: left; /* orientation=lt */
- float: right; /* orientation=rt */
- cursor: pointer;
- margin-top: 0px;
-}
-
-.UITabPaneDashboard .UIHorizontalTabs .GrayTabStyle .NormalTab .LeftTab {
- background: #E6E6E6;
- border: 1px solid #DADADA;
-}
-
-.UITabPaneDashboard .UIHorizontalTabs .GrayTabStyle .NormalTab .RightTab {
- background: none;
-}
-
-.UITabPaneDashboard .UIHorizontalTabs .GrayTabStyle .NormalTab .MiddleTab {
- background: none;
+.UITabPaneDashboard .UITab {
+ -moz-border-radius: 0px;
+ -webkit-border-radius: 0px;
+ border-radius: 0px;
+ background-color:#E6E6E6;
+ border:1px solid #DADADA;
+ height: 20px;
line-height: 20px;
+ margin-top: 5px;
+ margin-right: 4px;/* orientation=lt */
+ margin-left: 4px;/* orientation=rt */
}
-
-.UITabPaneDashboard .UIHorizontalTabs .GrayTabStyle .NormalTab .MiddleTab span {
- color: #999999;
+.UITabPaneDashboard .UITab .Tablabel {
+ color:#999;
}
-.UITabPaneDashboard .UIHorizontalTabs .GrayTabStyle .SelectedTab .LeftTab {
- background: #fff;
- border: 1px solid #dadada;
- padding: 0px;
+.UITabPaneDashboard .UITab .CloseIcon {
+ background-image: url('background/IconClose.gif');
}
-.UITabPaneDashboard .UIHorizontalTabs .GrayTabStyle .SelectedTab .RightTab {
- background: #fff;
- padding: 0px;
-}
-
-.UITabPaneDashboard .UIHorizontalTabs .GrayTabStyle .SelectedTab .MiddleTab {
- background: #fff;
- padding: 0px;
- line-height: 20px;
-}
+.UITabPaneDashboard .SelectedTab {
+ background-color:#fff;
+}
\ No newline at end of file
Added: portal/branches/dom/examples/skins/simpleskin/src/main/webapp/skin/webPortlet/webui/component/UIPortalNavigationPortlet/background/NavDownArrow_ar.gif
===================================================================
(Binary files differ)
Property changes on: portal/branches/dom/examples/skins/simpleskin/src/main/webapp/skin/webPortlet/webui/component/UIPortalNavigationPortlet/background/NavDownArrow_ar.gif
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Modified: portal/branches/dom/portlet/dashboard/src/main/webapp/groovy/dashboard/webui/component/UITabPaneDashboard.gtmpl
===================================================================
--- portal/branches/dom/portlet/dashboard/src/main/webapp/groovy/dashboard/webui/component/UITabPaneDashboard.gtmpl 2011-09-05 11:03:32 UTC (rev 7299)
+++ portal/branches/dom/portlet/dashboard/src/main/webapp/groovy/dashboard/webui/component/UITabPaneDashboard.gtmpl 2011-09-05 11:06:45 UTC (rev 7300)
@@ -18,12 +18,7 @@
JavascriptManager jsManager = pcontext.getJavascriptManager();
jsManager.importJavascript("eXo.webui.UITabbedDashboard");
%>
-<div id="$uicomponent.id" class="UITabPaneDashboard">
- <div class="LtTabDashboard">
- <div class="RtTabDashboard">
- <div class="CtTabDashboard">
- <div class="UIHorizontalTabs">
- <div class="TabsContainer ClearFix">
+<div id="$uicomponent.id" class="UITabPaneDashboard UIHorizontalTabs ClearFix">
<%
int i = 0;
for(UserNode node : nodes){
@@ -36,45 +31,20 @@
String param = node.getName();
if(node.getURI().equals(selectedNode.getURI())){
%>
- <div class="UITab GrayTabStyle">
- <div class="SelectedTab">
- <div class="LeftTab">
- <div class="RightTab">
- <div class="MiddleTab">
- <%
- String ondblclick = "eXo.webui.UITabbedDashboard.showEditLabelInput(this,\"" + param + "\",this.innerHTML)";
- %>
- <span ondblclick='$ondblclick'>$tabLabel</span>
- <a href="<%= uicomponent.url("DeleteTab",param); %>">
- <img class="CloseIcon" src="/eXoResources/skin/sharedImages/Blank.gif" alt="DEL" />
- </a>
- </div>
- </div>
- </div>
- </div>
+ <div class="UITab SelectedTab">
+ <%
+ String ondblclick = "eXo.webui.UITabbedDashboard.showEditLabelInput(this,\"" + param + "\",this.innerHTML)";
+ %>
+ <span ondblclick='$ondblclick'>$tabLabel</span>
+ <a href="<%= uicomponent.url("DeleteTab",param); %>" class="CloseIcon" title="DEL"></a>
</div>
<%}else{ %>
- <div class="UITab GrayTabStyle">
- <div class="NormalTab">
- <div class="LeftTab">
- <div class="RightTab">
- <div class="MiddleTab">
- <a href="<%= nodeURL.toString()%>"><span>$tabLabel</span></a>
- <a href="<%= uicomponent.url("DeleteTab",param); %>">
- <img class="CloseIcon" src="/eXoResources/skin/sharedImages/Blank.gif" alt="DEL" />
- </a>
- </div>
- </div>
- </div>
- </div>
- </div>
+ <div class="UITab NormalTab">
+ <a href="<%= nodeURL.toString()%>" class="Tablabel">$tabLabel</a>
+ <a href="<%= uicomponent.url("DeleteTab",param); %>" class="CloseIcon" title="DEL" ></a>
+
+ </div>
<%} %>
<% } %>
- <div class="AddDashboard" onclick="eXo.webui.UITabbedDashboard.createTabDashboard(this)"><span></span></div>
- </div>
- </div>
-
- </div>
- </div>
- </div>
-</div>
\ No newline at end of file
+ <a class="AddDashboard" onclick="eXo.webui.UITabbedDashboard.createTabDashboard(this)"></a>
+</div>
Modified: portal/branches/dom/portlet/exoadmin/src/main/webapp/groovy/admintoolbar/webui/component/UIUserToolBarDashboardPortlet.gtmpl
===================================================================
--- portal/branches/dom/portlet/exoadmin/src/main/webapp/groovy/admintoolbar/webui/component/UIUserToolBarDashboardPortlet.gtmpl 2011-09-05 11:03:32 UTC (rev 7299)
+++ portal/branches/dom/portlet/exoadmin/src/main/webapp/groovy/admintoolbar/webui/component/UIUserToolBarDashboardPortlet.gtmpl 2011-09-05 11:06:45 UTC (rev 7300)
@@ -1,4 +1,3 @@
-<<<<<<< HEAD
<%
import org.exoplatform.web.application.JavascriptManager;
import org.exoplatform.portal.webui.util.Util ;
Modified: portal/branches/dom/web/eXoResources/src/main/webapp/javascript/eXo/webui/UITabbedDashboard.js
===================================================================
--- portal/branches/dom/web/eXoResources/src/main/webapp/javascript/eXo/webui/UITabbedDashboard.js 2011-09-05 11:03:32 UTC (rev 7299)
+++ portal/branches/dom/web/eXoResources/src/main/webapp/javascript/eXo/webui/UITabbedDashboard.js 2011-09-05 11:06:45 UTC (rev 7300)
@@ -62,8 +62,6 @@
showEditLabelInput : function(selectedElement, nodeName, currentContent){
eXo.webui.UITabbedDashboard.backupElement = selectedElement;
var prNode = selectedElement.parentNode;
- var tabContainer = eXo.core.DOMUtil.findAncestorByClass(prNode, "TabsContainer");
- var addButton = eXo.core.DOMUtil.findFirstChildByClass(tabContainer, "div", "AddDashboard");
var inputElement = document.createElement("input");
inputElement.type = "text";
@@ -81,10 +79,9 @@
prNode.replaceChild(inputElement, selectedElement);
inputElement.focus();
- //find Middle tab of MiddleTab
var DOMUtil = eXo.core.DOMUtil;
- var middleTab = DOMUtil.findAncestorByClass(inputElement, "MiddleTab");
- middleTab.className = "MiddleTab EditTab";
+ var uiTab = DOMUtil.findAncestorByClass(inputElement, "UITab");
+ DOMUtil.addClass(uiTab, "EditTab");
},
createDashboardPage : function(e){
@@ -113,7 +110,7 @@
//If user presses on ESCAPE button
else if(keyNum == 27){
var inputElement = eXo.core.Browser.getEventSource(e);
- var editingTabElement = eXo.core.DOMUtil.findAncestorByClass(inputElement, "UITab GrayTabStyle");
+ var editingTabElement = eXo.core.DOMUtil.findAncestorByClass(inputElement, "UITab");
//Remove the editing tab
editingTabElement.parentNode.removeChild(editingTabElement);
@@ -125,7 +122,7 @@
e = window.event;
}
var inputElement = eXo.core.Browser.getEventSource(e);
- var editingTabElement = eXo.core.DOMUtil.findAncestorByClass(inputElement, "UITab GrayTabStyle");
+ var editingTabElement = eXo.core.DOMUtil.findAncestorByClass(inputElement, "UITab");
//Remove the editing tab
editingTabElement.parentNode.removeChild(editingTabElement);
@@ -134,11 +131,11 @@
createTabDashboard : function(addTabElement){
var DOMUtil = eXo.core.DOMUtil;
var tabContainer = addTabElement.parentNode;
- var tabElements = DOMUtil.findChildrenByClass(tabContainer, "div", "UITab GrayTabStyle");
+ var tabElements = DOMUtil.findChildrenByClass(tabContainer, "div", "UITab");
var portletFrag = DOMUtil.findAncestorByClass(tabContainer, "PORTLET-FRAGMENT");
var selectedTabElement = DOMUtil.findFirstDescendantByClass(tabContainer, "div", "SelectedTab");
- var newTabElement = selectedTabElement.parentNode.cloneNode(true);
+ var newTabElement = selectedTabElement.cloneNode(true);
tabContainer.insertBefore(newTabElement, addTabElement);
var inputElement = document.createElement("input");
@@ -157,8 +154,8 @@
DOMUtil.findNextElementByTagName(inputElement, "a").href = "#";
inputElement.focus();
- //find Middle tab of MiddleTab
- var middleTab = DOMUtil.findAncestorByClass(inputElement, "MiddleTab");
- middleTab.className = "MiddleTab EditTab";
+ var DOMUtil = eXo.core.DOMUtil;
+ var uiTab = DOMUtil.findAncestorByClass(inputElement, "UITab");
+ DOMUtil.addClass(uiTab, "EditTab");
}
}
\ No newline at end of file
Modified: portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIDashboard/Stylesheet.css
===================================================================
--- portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIDashboard/Stylesheet.css 2011-09-05 11:03:32 UTC (rev 7299)
+++ portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIDashboard/Stylesheet.css 2011-09-05 11:06:45 UTC (rev 7300)
@@ -1,647 +1,582 @@
-/**
- * Copyright (C) 2009 eXo Platform SAS.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
-
-.UIWindow .UIDashboardPortlet {
- margin: 0px;
-}
-
-.UIDashboardPortlet {
- background: #fff;
- border: 1px solid #b7b7b7;
- border-top: none;
- height: 100%;
-}
-
-.UIWindow .UIDashboard {
- border: none;
- margin: 0px;
-}
-
-.UIDashboard {
- height: 100%;
-}
-
-.UIDashboard .DashboardContainer {
- background: url('background/BgBottom.gif') no-repeat bottom left;
- height: 100%;
-}
-
-.UIDashboard .GadgetTitle {
- float: left; /* orientation=lt */
- float: right; /* orientation=rt */
- padding: 0px 5px;
- color: #5b5b5b;
- font-weight: normal;
- cursor: move;
- overflow: hidden;
- white-space: nowrap;
- width: 195px;
- margin-right: 75px !important; /* orientation=lt */
- margin: 0px 0px 0px 75px !important; /* orientation=rt */
-}
-
-.UIDashboard .UIDashboardEditForm {
- background: white;
- padding: 10px;
-}
-
-.UITabPaneDashboard {
- padding: 0 9px;
-}
-
-.UITabPaneDashboard .LtTabDashboard {
- background: #ffcf01 url('background/NavUser.gif') no-repeat left top;
- padding-left: 3px;
- _height: 32px;
-}
-
-.UITabPaneDashboard .RtTabDashboard {
- background: #ffcf01 url('background/NavUser.gif') no-repeat right top;
- padding-right: 3px;
- _height: 32px;
-}
-
-.UITabPaneDashboard .CtTabDashboard {
- background: #ffcf01 url('background/NavUser.gif') repeat-x center -32px;
- padding: 0px 6px;
- _height: 32px;
-}
-
-.UITabPaneDashboard .UIHorizontalTabs {
- padding: 1px 0px 4px 0px;
-}
-
-.UITabPaneDashboard .UIHorizontalTabs .TabsContainer {
- height: auto;
-}
-
-.UITabPaneDashboard .UIHorizontalTabs .GrayTabStyle {
- margin: 3px 2px 0 0;
-}
-
-.UITabPaneDashboard .UIHorizontalTabs .GrayTabStyle .NormalTab .MiddleTab,
-.UITabPaneDashboard .UIHorizontalTabs .GrayTabStyle .HighlightNavigationTab .MiddleTab,
-.UITabPaneDashboard .UIHorizontalTabs .GrayTabStyle .SelectedTab .MiddleTab {
- padding: 0px 5px;
- _padding: 4px 5px;
- white-space:nowrap;
- font-weight: normal;
- line-height: 24px;
-}
-
-
-
-.UITabPaneDashboard .UIHorizontalTabs .UITab .CloseIcon {
- background: url('background/IconClose.gif') no-repeat center;
- width: 16px; height: 16px;
- cursor: pointer;
-}
-
-.UITabPaneDashboard .UIHorizontalTabs .AddDashboard {
- background: url('background/AddDashboard.gif') no-repeat bottom;
- width: 34px; height: 24px;
- float: left; /* orientation=lt */
- float: right; /* orientation=rt */
- cursor: pointer;
- margin-top: 3px;
-}
-
-.UITabPaneDashboard .UIHorizontalTabs .GrayTabStyle .NormalTab .LeftTab {
- background: url(background/TabDashboard.gif) no-repeat left -48px;
-}
-
-.UITabPaneDashboard .UIHorizontalTabs .GrayTabStyle .NormalTab .RightTab {
- background: url(background/TabDashboard.gif) no-repeat right -48px;
-}
-
-.UITabPaneDashboard .UIHorizontalTabs .GrayTabStyle .NormalTab .MiddleTab {
- background: url(background/TabDashboard.gif) repeat-x left -72px;
-}
-
-.UITabPaneDashboard .UIHorizontalTabs .GrayTabStyle .HighlightNavigationTab .LeftTab {
- background: url(background/TabDashboard.gif) no-repeat left -48px;
- padding-left: 4px;
-}
-
-.UITabPaneDashboard .UIHorizontalTabs .GrayTabStyle .HighlightNavigationTab .RightTab {
- background: url(background/TabDashboard.gif) no-repeat right -48px;
- padding-right: 4px;
-}
-
-.UITabPaneDashboard .UIHorizontalTabs .GrayTabStyle .HighlightNavigationTab .MiddleTab {
- background: url(background/TabDashboard.gif) repeat-x left -72px;
-}
-
-.UITabPaneDashboard .UIHorizontalTabs .GrayTabStyle .SelectedTab .LeftTab {
- background: url(background/TabDashboard.gif) no-repeat left top;
-}
-
-.UITabPaneDashboard .UIHorizontalTabs .GrayTabStyle .SelectedTab .RightTab {
- background: url(background/TabDashboard.gif) no-repeat right top;
- padding-right: 4px;
-}
-
-.UITabPaneDashboard .UIHorizontalTabs .GrayTabStyle .SelectedTab .MiddleTab {
- background: url(background/TabDashboard.gif) repeat-x left -24px;
-}
-
-.UITabPaneDashboard .UIHorizontalTabs .GrayTabStyle .EditnewTab .LeftTab {
- background: url(background/TabDashboard.gif) no-repeat left top;
-}
-
-.UITabPaneDashboard .UIHorizontalTabs .GrayTabStyle .EditnewTab .RightTab {
- background: url(background/TabDashboard.gif) no-repeat right top;
- padding-right: 4px;
-}
-
-.UITabPaneDashboard .UIHorizontalTabs .GrayTabStyle .EditnewTab .MiddleTab {
- background: url(background/TabDashboard.gif) repeat-x left -24px;
- line-height: 22px;
- vertical-align: middle;
- padding-top: 0;
-}
-
-.UITabPaneDashboard .UIHorizontalTabs .GrayTabStyle .SelectedTab .EditTab {
- _padding: 2px 5px;
-}
-
-.UITabPaneDashboard .UIHorizontalTabs .GrayTabStyle .MiddleTab span {
- margin-top: 1px;
-}
-
-.UITabPaneDashboard .UIHorizontalTabs .GrayTabStyle input {
- font-size: 11px;
- background: white;
- padding: 0 !important;
- text-align: left !important;
- font-family: Tahoma !important;
- margin: 0;
- !height: 16px;
- !line-height: 14px;
- vertical-align: middle;
-}
-
-/*----------------------UIGadgetsSelectorForm-------------------*/
-
-.UIDashboardSelectContainer {
- height: 100%;
-}
-
-.UIDashboardSelectContainer .DashboardControlBar {
- height: 23px;
- background: url('background/Dashboard.gif') repeat-x top;
- border-bottom: 1px solid #b7b7b7;
-}
-
-.UIDashboardSelectContainer .TitleBar {
- color: black;
- font-weight: bold;
- line-height: 23px;
- float: left; /* orientation=lt */
- float: right; /* orientation=rt */
- padding-left: 10px; /* orientation=lt */
- padding-right: 10px; /* orientation=rt */
-}
-
-.UIDashboardSelectContainer .CloseIcon {
- float: right; /* orientation=lt */
- float: left; /* orientation=rt */
- background: url('background/Dashboard.gif') no-repeat left -180px;
- height: 20px;
- width: 20px;
-}
-
-.UIDashboardSelectContainer .DashboardItemContainer {
-}
-
-.UIDashboardSelectContainer .DashboardItemContainer .InputContainer {
- padding: 4px 0px 4px 10px;
- _padding: 0px 10px;
- background: #ececec;
-}
-
-.UIDashboardSelectContainer .DashboardItemContainer .InputContainer input {
- margin: 0 3px 0 0px;
- border: 1px solid #b8babf;
- font-size: 11px;
- width: 165px;
-}
-
-.UIDashboardSelectContainer .DashboardItemContainer .GadgetItemsContainer {
- border-top: 1px solid #b7b7b7;
- font-weight: bold;
-}
-
-.UIDashboardSelectContainer .DashboardItemContainer .TopItemContainer {
- background: url('background/Dashboard.gif') repeat-x center -37px;
- height: 11px;
- padding: 1px;
- border-bottom: 1px solid #b7b7b7;
- display: none;
-}
-
-.UIDashboardSelectContainer .DashboardItemContainer .UpArrowIcon {
- background: url('background/Dashboard.gif') repeat-x center -98px;
- height: 11px; width: 15px;
- margin: auto;
- cursor: pointer;
-}
-
-.UIDashboardSelectContainer .DashboardItemContainer .DisableArrowIcon {
- filter: alpha(opacity=30);
- -moz-opacity: 0.3;
-}
-
-.UIDashboardSelectContainer .DashboardItemContainer .MiddleItemContainer {
- overflow: hidden;
-}
-
-.UIDashboardSelectContainer .DashboardItemContainer .BottomItemContainer {
- background: url('background/Dashboard.gif') repeat-x center -37px;
- height: 11px;
- padding: 1px;
- border-top: 1px solid #b7b7b7;
- display: none;
-}
-
-.UIDashboardSelectContainer .DashboardItemContainer .DownArrowIcon {
- background: url('background/Dashboard.gif') repeat-x center -114px;
- height: 11px; width: 15px;
- margin: auto;
- cursor: pointer;
-}
-
-.UIDashboardSelectContainer .DashboardItemContainer .DisableContainer {
- background: url('background/Dashboard.gif') repeat-x center -23px;
-}
-
-.UIDashboardSelectContainer .DashboardItemContainer .GadgetCategory {
- padding: 10px;
- text-transform: capitalize;
-}
-
-.UIDashboardSelectContainer .GadgetCategory .GadgetTab .LeftCategoryTitleBar {
- background: url('background/CategoryTitleBar.gif') repeat-x left top;
- border: 1px solid #b8babf;
-}
-
-.UIDashboardSelectContainer .GadgetCategory .GadgetTab .RightCategoryTitleBar {
-
-}
-
-.UIDashboardSelectContainer .GadgetCategory .GadgetTab .MiddleCategoryTitleBar {
- height: 23px;
- padding: 0px 8px;
-}
-
-.UIDashboardSelectContainer .GadgetCategory .GadgetTab .ArrowIcon {
- background: url('background/ArrowIcon.gif') no-repeat left -14px; /* orientation=lt */
- background: url('background/ArrowIcon.gif') no-repeat right -14px; /* orientation=rt */
- line-height: 23px;
- overflow: hidden;
- padding-left: 18px; /* orientation=lt */
- padding-right: 18px; /* orientation=rt */
- color: #000;
- font-weight: normal;
-}
-
-.UIDashboardSelectContainer .GadgetCategory .SelectedTab .ArrowIcon {
- background: url('background/ArrowIcon.gif') no-repeat left 8px; /* orientation=lt */
- background: url('background/ArrowIcon.gif') no-repeat right 8px; /* orientation=rt */
-}
-
-.UIDashboardSelectContainer .GadgetCategory .ItemsContainer {
- background: #fff url('background/BGItemsContainer.gif') repeat-x left 1px;
- border: 1px solid #b8babf;
- border-top: none;
- padding: 8px 8px 4px 8px;
-}
-
-.UIDashboardSelectContainer .GadgetCategory .UIGadget {
- background: url('background/GadgetControl.gif') repeat-x left top;
- margin: 0px 0px 4px 0px;
- height: 18px;
- line-height: 18px;
- color: #676767;
- padding: 0px;
- background: #f2f2f3;
-}
-
-.UIDashboard .UIDashboardSelectContainer .GadgetTitle {
- width: 150px;
- float: none;
- margin: 0px !important;
-}
-
-/*----------------------UIGadgetsContainer-------------------*/
-
-.UIDashboard .UIDashboardContainer .NoGadget {
- text-align: center;
- font-size: 12px; font-weight: bold;
- padding: 5px; color: #111;
-}
-
-.UIDashboard .UIGadget {
- padding: 5px 0px;
-}
-
-.UIDashboard .UIGadget .GadgetControl {
- float: none;
- padding: 0px;
- height: auto; width: auto;
-}
-
-.UIDashboard .UIGadget .GadgetControl .LeftControlBar {
- background: none;
- padding: 0px;
-}
-
-.UIDashboard .UIGadget .GadgetControl .RightControlBar {
- background: none;
- padding: 0px;
-}
-
-.UIDashboard .UIGadget .GadgetControl .CenterControlBar {
- background: url('background/BgTitleGadget.gif') repeat-x left top;
- height: 23px;
- line-height: 23px;
- padding: 0 9px;
- border: 1px solid #dbdbdb;
- border-top: none;
- cursor: move;
-}
-
-.UIDashboard .UIGadget .GadgetControl .GadgetDragHandleArea {
- display: none;
-}
-
-.UIDashboard .UIGadget .TLGadget {
- display: none;
-}
-
-.UIDashboard .UIGadget .MLGadget {
- background: #f2f2f3;
- border: 1px solid #c3c3c3;
- border-top: none;
- padding: 3px;
-}
-
-.UIDashboard .UIGadget .MRGadget {
- background: white;
- padding: 0 0 1px;
-}
-
-.UIDashboard .UIGadget .BLGadget {
- display: none;
-}
-
-/*------------------UIDashboardContainer----------------*/
-
-.UIDashboardContainer {
- height: 100%;
- background: #fff;
-}
-
-.UIDashboardContainer .GadgetContainer {
- overflow: auto;
- height: 100%;
- min-height: 400px;
- _height: 400px;
-}
-
-/**html .UIDashboardContainer .GadgetContainer {
- height: 400px;
-}*/
-
-.UIDashboardContainer .GadgetContainer .ContainerControlBarL {
- padding: 5px 10px;
- height: 22px;
-}
-
-.UIDashboardContainer .ContainerControlBarL .AddIcon {
- background: url('background/Dashboard.gif') no-repeat left -200px; /* orientation=lt */
- background: url('background/Dashboard.gif') no-repeat right -200px; /* orientation=rt */
- padding-left: 30px; /* orientation=lt */
- padding-right: 30px; /* orientation=rt */
- width: 200px; /* orientation=rt */
- font-weight: bold; font-size: 12px;
- display: block;
- line-height: 22px;
- float: right; /* orientation=lt */
- float: left; /* orientation=rt */
-}
-
-.UIDashboardContainer .GadgetContainer .AddIcon a {
- text-decoration: underline;
- color: #292929;
- cursor: pointer;
-}
-
-.UIDashboardContainer .GadgetContainer .AddIcon a:hover {
- text-decoration: none;
-}
-
-.GadgetContainer .UIColumns {
-}
-
-.GadgetContainer .UIColumn {
- float: left; /* orientation=lt */
- float: right; /* orientation=rt */
- width: 325px;
- padding: 2px;
-}
-
-.UIDashboardContainer .UIGadget {
- width: 320px;
-}
-.UIDashboardContainer .UIGadget .GadgetMenuBar{
- text-align: left; /* orientation=lt */
- text-align: right; /* orientation=rt */
-}
-
-.UIDashboardContainer .UITarget {
- background: #f2f2f3;
- margin: 5px 5px 10px 5px;
-}
-
-.UIDashboard .Dragging {
- margin: 3px 0px 0px 3px; /* orientation=lt */
- margin: 3px 3px 0px 0px; /* orientation=rt */
-}
-
-.UIDashboard .UIPopupWindow {
- width: 240px;
-}
-
-#UIAddGadgetPopup {
- width: 225px;
-}
-
-#UIAddGadgetPopup .TopLeftCornerDecorator {
- background: url('background/PortalComposer.gif') no-repeat left top;
- padding-left: 7px;
-}
-
-#UIAddGadgetPopup .TopCenterDecorator {
- background: url('background/PortalComposer.gif') repeat-x left -34px;
- height: 34px;
- padding: 0px;
-}
-
-#UIAddGadgetPopup .TopRightCornerDecorator {
- background: url('background/PortalComposer.gif') no-repeat right top;
- padding-right: 7px;
-}
-
-#UIAddGadgetPopup .MiddleLeftSideDecorator {
- background: url(background/MiddlePortalComposer.gif) repeat-y left top;
- padding-left: 3px;
-}
-
-#UIAddGadgetPopup .MiddleCenterDecorator {
- background: #d8dae1 url(background/CenterMiddleWindow.gif) repeat-x left top;
- padding: 4px;
- padding-bottom: 0px;
-}
-
-#UIAddGadgetPopup .MiddleRightSideDecorator {
- background: url(background/MiddlePortalComposer.gif) repeat-y right top;
- padding-right: 3px;
-}
-
-#UIAddGadgetPopup .UIWindowContent {
- border: 1px solid #bdbcbd;
-}
-
-#UIAddGadgetPopup .PopupContent {
- background: #fff;
-}
-
-#UIAddGadgetPopup .ResizeButton {
- background: url('background/ResizeBtn.gif') no-repeat right top; /* orientation=lt */
- background: url('background/ResizeBtn-rt.gif') no-repeat left top; /* orientation=rt */
- display: block;
- float: right; /* orientation=lt */
- float: left; /* orientation=rt */
- cursor: nw-resize; /* orientation=lt */
- cursor: ne-resize; /* orientation=rt */
-}
-
-#UIAddGadgetPopup .BottomLeftCornerDecorator {
- border: 1px solid #a2a3a9;
- border-top: none;
- background: #d8dae1;
-}
-
-#UIAddGadgetPopup .BottomCenterDecorator {
- height: 0px;
- background: none;
-}
-
-#UIAddGadgetPopup .BottomRightCornerDecorator {
- padding: 0px 6px 6px 6px;
- background: none;
-}
-
-#UIAddGadgetPopup .CloseButton {
- background: url('background/TopExitBtn.gif') no-repeat left top;
- width: 23px;
- height: 17px;
- margin-right: 0px;
-}
-
-#UIAddGadgetPopup .PopupTitleIcon {
- margin-left: 0px;
-}
-
-#UIAddGadgetPopup .PopupTitle {
- margin-left: 22px;
-}
-/*----------------------Maximized-------------------*/
-
-.Maximized .UIGadget {
- padding: 5px;
- margin: 0px;
-}
-
-.Maximized .UIGadget .GadgetControl {
- float: none;
- padding: 0px;
- height: auto; width: auto;
-}
-
-.Maximized .UIGadget .GadgetControl .LeftControlBar {
- background: none;
- padding: 0px;
-}
-
-.Maximized .UIGadget .GadgetControl .RightControlBar {
- background: none;
- padding: 0px;
-}
-
-.Maximized .UIGadget .GadgetControl .CenterControlBar {
- background: url('background/BgTitleGadget.gif') repeat-x left top;
- height: 23px;
- line-height: 23px;
- padding: 0 9px;
- border: 1px solid #dbdbdb;
- border-top: none;
-}
-
-.Maximized .UIGadget .GadgetControl .GadgetDragHandleArea {
- display: none;
-}
-
-.Maximized .UIGadget .TLGadget {
- display: none;
-}
-
-.Maximized .UIGadget .MLGadget {
- background: #f2f2f3;
- border: 1px solid #c3c3c3;
- border-top: none;
- padding: 3px;
-}
-
-.Maximized .UIGadget .MRGadget {
- background: white;
- padding: 0 0 1px;
-}
-
-.Maximized .UIGadget .BLGadget {
- display: none;
-}
-
-.Maximized .GadgetTitle {
- float: left; /* orientation=lt */
- float: right; /* orientation=rt */
- padding: 0px 5px;
- color: #5b5b5b;
- font-weight: bold;
- cursor: move;
- overflow: hidden;
- white-space: nowrap;
-}
-
-.Maximized iframe {
- width: 100%;
- _width: 98%;
+/**
+ * Copyright (C) 2009 eXo Platform SAS.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+
+.UIWindow .UIDashboardPortlet {
+ margin: 0px;
+}
+
+.UIDashboardPortlet {
+ background: #fff;
+ border: 1px solid #b7b7b7;
+ border-top: none;
+ height: 100%;
+}
+
+.UIWindow .UIDashboard {
+ border: none;
+ margin: 0px;
+}
+
+.UIDashboard {
+ height: 100%;
+}
+
+.UIDashboard .DashboardContainer {
+ background: url('background/BgBottom.gif') no-repeat bottom left;
+ height: 100%;
+}
+
+.UIDashboard .GadgetTitle {
+ float: left; /* orientation=lt */
+ float: right; /* orientation=rt */
+ padding: 0px 5px;
+ color: #5b5b5b;
+ font-weight: normal;
+ cursor: move;
+ overflow: hidden;
+ white-space: nowrap;
+ width: 195px;
+ margin-right: 75px !important; /* orientation=lt */
+ margin: 0px 0px 0px 75px !important; /* orientation=rt */
+}
+
+.UIDashboard .UIDashboardEditForm {
+ background: white;
+ padding: 10px;
+}
+
+.UITabPaneDashboard {
+ padding: 0 9px;
+}
+
+/*-------------------UITabPaneDashboard-------------------*/
+
+.UITabPaneDashboard {
+ height: auto;
+ -moz-border-radius: 5px 5px 0 0;
+ -webkit-border-radius: 5px 5px 0 0;
+ border-radius: 5px 5px 0 0;
+ background-color: #ffcf01;
+ padding: 0px 9px;
+ margin: 0 9px;
+}
+.UITabPaneDashboard .UITab {
+ -moz-border-radius: 4px;
+ -webkit-border-radius: 4px;
+ border-radius: 4px;
+ height: 24px;
+ line-height: 24px;
+ padding:0px 6px 0px 9px;/* orientation=lt */
+ padding:0px 9px 0px 6px;/* orientation=rt */
+ margin: 4px 2px 0px 0px;/* orientation=lt */
+ margin: 4px 0px 0px 2px;/* orientation=rt */
+}
+
+.UITabPaneDashboard .NormalTab {
+ background-color:#E6E6E6;
+}
+
+.UITabPaneDashboard .SelectedTab {
+ background-color:#fff;
+}
+
+.UITabPaneDashboard input {
+ font-size: 11px;
+ background-color:#fff;
+ text-align: left;/* orientation=lt */
+ text-align: right;/* orientation=rt */
+ height: 13px;
+ padding:0;
+}
+
+
+.UITabPaneDashboard .UITab .Tablabel ,.UITabPaneDashboard span {
+ font-weight:normal;
+ line-height: 14px;
+}
+
+
+.UITabPaneDashboard .UITab .CloseIcon {
+ background: url('background/IconClose.gif') no-repeat center top;
+ width: 14px;
+ height: 13px;
+ cursor: pointer;
+ display:inline-block;
+ margin-left: 3px;/* orientation=lt */
+ margin-right: 3px;/* orientation=rt */
+ vertical-align: middle;
+}
+
+.UITabPaneDashboard .SelectedTab .CloseIcon {
+ margin:0;
+}
+
+.UITabPaneDashboard .AddDashboard {
+ background: url('background/AddDashboard.gif') no-repeat center center;
+ width: 34px;
+ height: 32px;
+ float: left; /* orientation=lt */
+ float: right; /* orientation=rt */
+ cursor: pointer;
+}
+
+/*----------------------UIGadgetsSelectorForm-------------------*/
+
+.UIDashboardSelectContainer {
+ height: 100%;
+}
+
+.UIDashboardSelectContainer .DashboardControlBar {
+ height: 23px;
+ background: url('background/Dashboard.gif') repeat-x top;
+ border-bottom: 1px solid #b7b7b7;
+}
+
+.UIDashboardSelectContainer .TitleBar {
+ color: black;
+ font-weight: bold;
+ line-height: 23px;
+ float: left; /* orientation=lt */
+ float: right; /* orientation=rt */
+ padding-left: 10px; /* orientation=lt */
+ padding-right: 10px; /* orientation=rt */
+}
+
+.UIDashboardSelectContainer .CloseIcon {
+ float: right; /* orientation=lt */
+ float: left; /* orientation=rt */
+ background: url('background/Dashboard.gif') no-repeat left -180px;
+ height: 20px;
+ width: 20px;
+}
+
+.UIDashboardSelectContainer .DashboardItemContainer {
+}
+
+.UIDashboardSelectContainer .DashboardItemContainer .InputContainer {
+ padding: 4px 0px 4px 10px;
+ _padding: 0px 10px;
+ background: #ececec;
+}
+
+.UIDashboardSelectContainer .DashboardItemContainer .InputContainer input {
+ margin: 0 3px 0 0px;
+ border: 1px solid #b8babf;
+ font-size: 11px;
+ width: 165px;
+}
+
+.UIDashboardSelectContainer .DashboardItemContainer .GadgetItemsContainer {
+ border-top: 1px solid #b7b7b7;
+ font-weight: bold;
+}
+
+.UIDashboardSelectContainer .DashboardItemContainer .TopItemContainer {
+ background: url('background/Dashboard.gif') repeat-x center -37px;
+ height: 11px;
+ padding: 1px;
+ border-bottom: 1px solid #b7b7b7;
+ display: none;
+}
+
+.UIDashboardSelectContainer .DashboardItemContainer .UpArrowIcon {
+ background: url('background/Dashboard.gif') repeat-x center -98px;
+ height: 11px; width: 15px;
+ margin: auto;
+ cursor: pointer;
+}
+
+.UIDashboardSelectContainer .DashboardItemContainer .DisableArrowIcon {
+ filter: alpha(opacity=30);
+ -moz-opacity: 0.3;
+}
+
+.UIDashboardSelectContainer .DashboardItemContainer .MiddleItemContainer {
+ overflow: hidden;
+}
+
+.UIDashboardSelectContainer .DashboardItemContainer .BottomItemContainer {
+ background: url('background/Dashboard.gif') repeat-x center -37px;
+ height: 11px;
+ padding: 1px;
+ border-top: 1px solid #b7b7b7;
+ display: none;
+}
+
+.UIDashboardSelectContainer .DashboardItemContainer .DownArrowIcon {
+ background: url('background/Dashboard.gif') repeat-x center -114px;
+ height: 11px; width: 15px;
+ margin: auto;
+ cursor: pointer;
+}
+
+.UIDashboardSelectContainer .DashboardItemContainer .DisableContainer {
+ background: url('background/Dashboard.gif') repeat-x center -23px;
+}
+
+.UIDashboardSelectContainer .DashboardItemContainer .GadgetCategory {
+ padding: 10px;
+ text-transform: capitalize;
+}
+
+.UIDashboardSelectContainer .GadgetCategory .GadgetTab .LeftCategoryTitleBar {
+ background: url('background/CategoryTitleBar.gif') repeat-x left top;
+ border: 1px solid #b8babf;
+}
+
+.UIDashboardSelectContainer .GadgetCategory .GadgetTab .RightCategoryTitleBar {
+
+}
+
+.UIDashboardSelectContainer .GadgetCategory .GadgetTab .MiddleCategoryTitleBar {
+ height: 23px;
+ padding: 0px 8px;
+}
+
+.UIDashboardSelectContainer .GadgetCategory .GadgetTab .ArrowIcon {
+ background: url('background/ArrowIcon.gif') no-repeat left -14px; /* orientation=lt */
+ background: url('background/ArrowIcon.gif') no-repeat right -14px; /* orientation=rt */
+ line-height: 23px;
+ overflow: hidden;
+ padding-left: 18px; /* orientation=lt */
+ padding-right: 18px; /* orientation=rt */
+ color: #000;
+ font-weight: normal;
+}
+
+.UIDashboardSelectContainer .GadgetCategory .SelectedTab .ArrowIcon {
+ background: url('background/ArrowIcon.gif') no-repeat left 8px; /* orientation=lt */
+ background: url('background/ArrowIcon.gif') no-repeat right 8px; /* orientation=rt */
+}
+
+.UIDashboardSelectContainer .GadgetCategory .ItemsContainer {
+ background: #fff url('background/BGItemsContainer.gif') repeat-x left 1px;
+ border: 1px solid #b8babf;
+ border-top: none;
+ padding: 8px 8px 4px 8px;
+}
+
+.UIDashboardSelectContainer .GadgetCategory .UIGadget {
+ background: url('background/GadgetControl.gif') repeat-x left top;
+ margin: 0px 0px 4px 0px;
+ height: 18px;
+ line-height: 18px;
+ color: #676767;
+ padding: 0px;
+ background: #f2f2f3;
+}
+
+.UIDashboard .UIDashboardSelectContainer .GadgetTitle {
+ width: 150px;
+ float: none;
+ margin: 0px !important;
+}
+
+/*----------------------UIGadgetsContainer-------------------*/
+
+.UIDashboard .UIDashboardContainer .NoGadget {
+ text-align: center;
+ font-size: 12px; font-weight: bold;
+ padding: 5px; color: #111;
+}
+
+.UIDashboard .UIGadget {
+ padding: 5px 0px;
+}
+
+.UIDashboard .UIGadget .GadgetControl {
+ float: none;
+ padding: 0px;
+ height: auto; width: auto;
+}
+
+.UIDashboard .UIGadget .GadgetControl .LeftControlBar {
+ background: none;
+ padding: 0px;
+}
+
+.UIDashboard .UIGadget .GadgetControl .RightControlBar {
+ background: none;
+ padding: 0px;
+}
+
+.UIDashboard .UIGadget .GadgetControl .CenterControlBar {
+ background: url('background/BgTitleGadget.gif') repeat-x left top;
+ height: 23px;
+ line-height: 23px;
+ padding: 0 9px;
+ border: 1px solid #dbdbdb;
+ border-top: none;
+ cursor: move;
+}
+
+.UIDashboard .UIGadget .GadgetControl .GadgetDragHandleArea {
+ display: none;
+}
+
+.UIDashboard .UIGadget .TLGadget {
+ display: none;
+}
+
+.UIDashboard .UIGadget .MLGadget {
+ background: #f2f2f3;
+ border: 1px solid #c3c3c3;
+ border-top: none;
+ padding: 3px;
+}
+
+.UIDashboard .UIGadget .MRGadget {
+ background: white;
+ padding: 0 0 1px;
+}
+
+.UIDashboard .UIGadget .BLGadget {
+ display: none;
+}
+
+/*------------------UIDashboardContainer----------------*/
+
+.UIDashboardContainer {
+ height: 100%;
+ background: #fff;
+}
+
+.UIDashboardContainer .GadgetContainer {
+ overflow: auto;
+ height: 100%;
+ min-height: 400px;
+ _height: 400px;
+}
+
+.UIDashboardContainer .GadgetContainer .ContainerControlBarL {
+ padding: 5px 10px;
+ height: 22px;
+}
+
+.UIDashboardContainer .ContainerControlBarL .AddIcon {
+ background: url('background/Dashboard.gif') no-repeat left -200px; /* orientation=lt */
+ background: url('background/Dashboard.gif') no-repeat right -200px; /* orientation=rt */
+ padding-left: 30px; /* orientation=lt */
+ padding-right: 30px; /* orientation=rt */
+ width: 200px; /* orientation=rt */
+ font-weight: bold; font-size: 12px;
+ display: block;
+ line-height: 22px;
+ float: right; /* orientation=lt */
+ float: left; /* orientation=rt */
+}
+
+.UIDashboardContainer .GadgetContainer .AddIcon a {
+ text-decoration: underline;
+ color: #292929;
+ cursor: pointer;
+}
+
+.UIDashboardContainer .GadgetContainer .AddIcon a:hover {
+ text-decoration: none;
+}
+
+.GadgetContainer .UIColumns {
+}
+
+.GadgetContainer .UIColumn {
+ float: left; /* orientation=lt */
+ float: right; /* orientation=rt */
+ width: 325px;
+ padding: 2px;
+}
+
+.UIDashboardContainer .UIGadget {
+ width: 320px;
+}
+.UIDashboardContainer .UIGadget .GadgetMenuBar{
+ text-align: left; /* orientation=lt */
+ text-align: right; /* orientation=rt */
+}
+
+.UIDashboardContainer .UITarget {
+ background: #f2f2f3;
+ margin: 5px 5px 10px 5px;
+}
+
+.UIDashboard .Dragging {
+ margin: 3px 0px 0px 3px; /* orientation=lt */
+ margin: 3px 3px 0px 0px; /* orientation=rt */
+}
+
+.UIDashboard .UIPopupWindow {
+ width: 240px;
+}
+
+#UIAddGadgetPopup {
+ width: 225px;
+}
+
+#UIAddGadgetPopup .TopLeftCornerDecorator {
+ background: url('background/PortalComposer.gif') no-repeat left top;
+ padding-left: 7px;
+}
+
+#UIAddGadgetPopup .TopCenterDecorator {
+ background: url('background/PortalComposer.gif') repeat-x left -34px;
+ height: 34px;
+ padding: 0px;
+}
+
+#UIAddGadgetPopup .TopRightCornerDecorator {
+ background: url('background/PortalComposer.gif') no-repeat right top;
+ padding-right: 7px;
+}
+
+#UIAddGadgetPopup .MiddleLeftSideDecorator {
+ background: url(background/MiddlePortalComposer.gif) repeat-y left top;
+ padding-left: 3px;
+}
+
+#UIAddGadgetPopup .MiddleCenterDecorator {
+ background: #d8dae1 url(background/CenterMiddleWindow.gif) repeat-x left top;
+ padding: 4px;
+ padding-bottom: 0px;
+}
+
+#UIAddGadgetPopup .MiddleRightSideDecorator {
+ background: url(background/MiddlePortalComposer.gif) repeat-y right top;
+ padding-right: 3px;
+}
+
+#UIAddGadgetPopup .UIWindowContent {
+ border: 1px solid #bdbcbd;
+}
+
+#UIAddGadgetPopup .PopupContent {
+ background: #fff;
+}
+
+#UIAddGadgetPopup .ResizeButton {
+ background: url('background/ResizeBtn.gif') no-repeat right top; /* orientation=lt */
+ background: url('background/ResizeBtn-rt.gif') no-repeat left top; /* orientation=rt */
+ display: block;
+ float: right; /* orientation=lt */
+ float: left; /* orientation=rt */
+ cursor: nw-resize; /* orientation=lt */
+ cursor: ne-resize; /* orientation=rt */
+}
+
+#UIAddGadgetPopup .BottomLeftCornerDecorator {
+ border: 1px solid #a2a3a9;
+ border-top: none;
+ background: #d8dae1;
+}
+
+#UIAddGadgetPopup .BottomCenterDecorator {
+ height: 0px;
+ background: none;
+}
+
+#UIAddGadgetPopup .BottomRightCornerDecorator {
+ padding: 0px 6px 6px 6px;
+ background: none;
+}
+
+#UIAddGadgetPopup .CloseButton {
+ background: url('background/TopExitBtn.gif') no-repeat left top;
+ width: 23px;
+ height: 17px;
+ margin-right: 0px;
+}
+
+#UIAddGadgetPopup .PopupTitleIcon {
+ margin-left: 0px;
+}
+
+#UIAddGadgetPopup .PopupTitle {
+ margin-left: 22px;
+}
+/*----------------------Maximized-------------------*/
+
+.Maximized .UIGadget {
+ padding: 5px;
+ margin: 0px;
+}
+
+.Maximized .UIGadget .GadgetControl {
+ float: none;
+ padding: 0px;
+ height: auto; width: auto;
+}
+
+.Maximized .UIGadget .GadgetControl .LeftControlBar {
+ background: none;
+ padding: 0px;
+}
+
+.Maximized .UIGadget .GadgetControl .RightControlBar {
+ background: none;
+ padding: 0px;
+}
+
+.Maximized .UIGadget .GadgetControl .CenterControlBar {
+ background: url('background/BgTitleGadget.gif') repeat-x left top;
+ height: 23px;
+ line-height: 23px;
+ padding: 0 9px;
+ border: 1px solid #dbdbdb;
+ border-top: none;
+}
+
+.Maximized .UIGadget .GadgetControl .GadgetDragHandleArea {
+ display: none;
+}
+
+.Maximized .UIGadget .TLGadget {
+ display: none;
+}
+
+.Maximized .UIGadget .MLGadget {
+ background: #f2f2f3;
+ border: 1px solid #c3c3c3;
+ border-top: none;
+ padding: 3px;
+}
+
+.Maximized .UIGadget .MRGadget {
+ background: white;
+ padding: 0 0 1px;
+}
+
+.Maximized .UIGadget .BLGadget {
+ display: none;
+}
+
+.Maximized .GadgetTitle {
+ float: left; /* orientation=lt */
+ float: right; /* orientation=rt */
+ padding: 0px 5px;
+ color: #5b5b5b;
+ font-weight: bold;
+ cursor: move;
+ overflow: hidden;
+ white-space: nowrap;
+}
+
+.Maximized iframe {
+ width: 100%;
+ _width: 98%;
}
\ No newline at end of file
13 years, 3 months
gatein SVN: r7299 - in portal/branches/dom: examples/skins/simpleskin/src/main/webapp/skin/webPortlet/webui/component/UIPortalNavigationPortlet and 8 other directories.
by do-not-reply@jboss.org
Author: phuong_vu
Date: 2011-09-05 07:03:32 -0400 (Mon, 05 Sep 2011)
New Revision: 7299
Modified:
portal/branches/dom/examples/skins/simpleskin/src/main/webapp/skin/SimpleSkin/UIToolbarContainer/Stylesheet.css
portal/branches/dom/examples/skins/simpleskin/src/main/webapp/skin/webPortlet/webui/component/UIPortalNavigationPortlet/Stylesheet.css
portal/branches/dom/examples/skins/simpleskin/src/main/webapp/skin/webPortlet/webui/component/UIPortalNavigationPortlet/background/NavDownArrow.gif
portal/branches/dom/portlet/exoadmin/src/main/webapp/groovy/admintoolbar/webui/component/UIAdminToolbarPortlet.gtmpl
portal/branches/dom/portlet/exoadmin/src/main/webapp/groovy/admintoolbar/webui/component/UIStarToolBarPortlet.gtmpl
portal/branches/dom/portlet/exoadmin/src/main/webapp/groovy/admintoolbar/webui/component/UIUserInfoPortlet.gtmpl
portal/branches/dom/portlet/exoadmin/src/main/webapp/groovy/admintoolbar/webui/component/UIUserToolBarDashboardPortlet.gtmpl
portal/branches/dom/portlet/exoadmin/src/main/webapp/groovy/admintoolbar/webui/component/UIUserToolBarGroupPortlet.gtmpl
portal/branches/dom/portlet/exoadmin/src/main/webapp/groovy/admintoolbar/webui/component/UIUserToolBarSitePortlet.gtmpl
portal/branches/dom/portlet/web/src/main/webapp/groovy/portal/webui/component/UIPortalNavigation.gtmpl
portal/branches/dom/portlet/web/src/main/webapp/skin/portal/webui/component/UINavigationPortlet/DefaultSkin/background/NavDownArrow.gif
portal/branches/dom/portlet/web/src/main/webapp/skin/portal/webui/component/UINavigationPortlet/DefaultSkin/background/NavDownArrowHover.gif
portal/branches/dom/portlet/web/src/main/webapp/skin/portal/webui/component/UINavigationPortlet/DefaultStylesheet.css
portal/branches/dom/web/eXoResources/src/main/webapp/javascript/eXo/portal/UIAdminToolbar.js
portal/branches/dom/web/eXoResources/src/main/webapp/javascript/eXo/portal/UIPortalNavigation.js
portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIToolbarContainer/Stylesheet.css
portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIToolbarContainer/background/ToolbarContainer.gif
Log:
[DOM] Admin Toolbar optimization
Modified: portal/branches/dom/examples/skins/simpleskin/src/main/webapp/skin/SimpleSkin/UIToolbarContainer/Stylesheet.css
===================================================================
--- portal/branches/dom/examples/skins/simpleskin/src/main/webapp/skin/SimpleSkin/UIToolbarContainer/Stylesheet.css 2011-09-05 10:59:49 UTC (rev 7298)
+++ portal/branches/dom/examples/skins/simpleskin/src/main/webapp/skin/SimpleSkin/UIToolbarContainer/Stylesheet.css 2011-09-05 11:03:32 UTC (rev 7299)
@@ -33,15 +33,7 @@
color: #fff;
}
-.UIToolbarContainer .UITab a:hover {
- color: #9fc5ff;
-}
-.UIToolbarContainer .UIHorizontalTabs .TabsContainer {
- height: 30px; /* orientation=lt */
- height: auto; /* orientation=rt */
-}
-
.UIToolbarContainer .UIHorizontalTabs .UITab {
line-height: 30px;
background: none;
@@ -64,30 +56,25 @@
}
.UIToolbarContainer .MenuItem {
- background: none;
+ /*background: none;*/
}
-.UIToolbarContainer .MenuItem .ArrowIcon {
+.UIToolbarContainer .ArrowIcon {
background: url('background/ToolbarContainer.gif') no-repeat right bottom; /* orientation=lt */
background: url('background/ToolbarContainer-rt.gif') no-repeat -5px bottom; /* orientation=rt */
}
.UIToolbarContainer .MenuItem a {
- padding: 0px 25px 0px 30px; /* orientation=lt */
- padding: 0px 30px 0px 25px; /* orientation=rt */
+ padding: 0px 25px 0px 32px; /* orientation=lt */
+ padding: 0px 32px 0px 25px; /* orientation=rt */
color: #232d36;
}
-.UIToolbarContainer .MenuItem a:hover {
+.UIToolbarContainer .MenuItem:hover {
color: #000;
background-color: #d7d7d7;
}
-.UIToolbarContainer .ItemIcon {
- background-position: 5px center; /* orientation=lt */
- background-position: 95% center; /* orientation=rt */
-}
-
/**********************************/
.UIToolbarContainer .DashboardIcon {
Modified: portal/branches/dom/examples/skins/simpleskin/src/main/webapp/skin/webPortlet/webui/component/UIPortalNavigationPortlet/Stylesheet.css
===================================================================
--- portal/branches/dom/examples/skins/simpleskin/src/main/webapp/skin/webPortlet/webui/component/UIPortalNavigationPortlet/Stylesheet.css 2011-09-05 10:59:49 UTC (rev 7298)
+++ portal/branches/dom/examples/skins/simpleskin/src/main/webapp/skin/webPortlet/webui/component/UIPortalNavigationPortlet/Stylesheet.css 2011-09-05 11:03:32 UTC (rev 7299)
@@ -47,12 +47,13 @@
float:left;/* orientation=lt */
float:right;/* orientation=rt */
text-align:center;
+ font-weight:normal;
}
.UINavigationPortlet .UITab a.TabIcon {
display: block;
- padding-left: 20px;/* orientation=lt */
- padding-right: 20px;/* orientation=rt */
+ padding-left: 23px;/* orientation=lt */
+ padding-right: 23px;/* orientation=rt */
line-height: 27px;
background-position: right ;/* orientation=rt */
}
@@ -69,15 +70,15 @@
.UINavigationPortlet .UITab > span {
display:block;
padding: 0px;
- margin-right: 24px;/* orientation=lt */
- margin-left: 24px;/* orientation=rt */
+ margin-right: 28px;/* orientation=lt */
+ margin-left: 28px;/* orientation=rt */
}
.UINavigationPortlet .UITab .DropDownArrowIcon {
background: url('background/NavDownArrow.gif') no-repeat right center; /* orientation=lt */
- background: url('background/NavDownArrow.gif') no-repeat left center; /* orientation=rt */
- padding: 0 16px 0 0px; /* orientation=lt */
- padding: 0 0px 0 16px; /* orientation=rt */
+ background: url('background/NavDownArrow_ar.gif') no-repeat left center; /* orientation=rt */
+ padding: 0 17px 0 0px; /* orientation=lt */
+ padding: 0 0px 0 17px; /* orientation=rt */
}
.UINavigationPortlet .HighlightNavigationTab > span,.UINavigationPortlet .SelectedNavigationTab > span {
@@ -160,7 +161,8 @@
cursor:pointer;
float: right; /* orientation=lt */
float: left; /* orientation=rt */
- height: 15px;
+ height: 15px;
+ width: 20px;
}
.UINavigationPortlet .ScrollButtons a {
@@ -193,12 +195,12 @@
background: url('background/Button-rt.gif') no-repeat left -30px; /* orientation=rt */
}
-.UINavigationPortlet .ScrollLeftButton:hover {
+.UINavigationPortlet .HighlightScrollLeftButton ,.UINavigationPortlet .ScrollLeftButton:hover{
background: url('background/Button.gif') no-repeat left top; /* orientation=lt */
background: url('background/Button-rt.gif') no-repeat right top; /* orientation=rt */
}
-.UINavigationPortlet .ScrollRightButton:hover {
+.UINavigationPortlet .HighlightScrollRightButton ,.UINavigationPortlet .ScrollRightButton:hover{
background: url('background/Button.gif') no-repeat right top; /* orientation=lt */
background: url('background/Button-rt.gif') no-repeat left top; /* orientation=rt */
}
@@ -207,5 +209,4 @@
.UINavigationPortlet .GroupNavigation {
background: #f9f9f9;
-}
-
+}
\ No newline at end of file
Modified: portal/branches/dom/examples/skins/simpleskin/src/main/webapp/skin/webPortlet/webui/component/UIPortalNavigationPortlet/background/NavDownArrow.gif
===================================================================
(Binary files differ)
Modified: portal/branches/dom/portlet/exoadmin/src/main/webapp/groovy/admintoolbar/webui/component/UIAdminToolbarPortlet.gtmpl
===================================================================
--- portal/branches/dom/portlet/exoadmin/src/main/webapp/groovy/admintoolbar/webui/component/UIAdminToolbarPortlet.gtmpl 2011-09-05 10:59:49 UTC (rev 7298)
+++ portal/branches/dom/portlet/exoadmin/src/main/webapp/groovy/admintoolbar/webui/component/UIAdminToolbarPortlet.gtmpl 2011-09-05 11:03:32 UTC (rev 7299)
@@ -27,37 +27,29 @@
if (selectedNav != null) {
editorLabel = _ctx.appRes("UIAdminToolbarPortlet.action." + selectedNav.getKey().getTypeName() + ".Editor");
}
- String accountSetting = "javascript:if(document.getElementById('UIMaskWorkspace')) ajaxGet(eXo.env.server.createPortalURL('UIPortal', 'AccountSettings', true));"
-%>
-<div class="UIAdminToolbarPortlet" id="$uicomponent.id" >
- <div class="UIHorizontalTabs">
- <div class="TabsContainer" >
- <div class="UITab NormalToolbarTab portlet-menu-item">
- <div class="">
- <a class="EditorIcon TBIcon" href="#">$editorLabel</a>
- </div>
- <div class="MenuItemContainer portlet-menu-cascade" style="display:none;">
- <div class="SubBlock">
- <% if(userCouldEditNavigation){ %>
- <div class="MenuItem portlet-menu-cascade-item">
- <a href="javascript:ajaxGet(eXo.env.server.createPortalURL('UIWorkingWorkspace', 'PageCreationWizard', true))" title="" class="ItemIcon AddPageIcon">$addPageLabel</a>
- </div>
- <% } %>
-
- <% if(userCouldEditPage){ %>
- <div class="MenuItem portlet-menu-cascade-item">
- <a href="javascript:ajaxGet(eXo.env.server.createPortalURL('UIWorkingWorkspace', 'EditCurrentPage', true))" title="" class="ItemIcon EditPageIcon">$editPageLabel</a>
- </div>
- <% } %>
-
- <% if(userCouldEditPortal){ %>
- <div class="MenuItem portlet-menu-cascade-item">
- <a href="javascript:ajaxGet(eXo.env.server.createPortalURL('UIWorkingWorkspace', 'EditInline', true))" title="" class="ItemIcon EditSiteIcon">$editSiteLayout</a>
- </div>
- <% } %>
- </div>
- </div>
- </div>
- </div>
- </div>
-</div>
+ String accountSetting = "javascript:if(document.getElementById('UIMaskWorkspace')) ajaxGet(eXo.env.server.createPortalURL('UIPortal', 'AccountSettings', true));"
+%>
+<ul class="UIAdminToolbarPortlet UIHorizontalTabs" id="$uicomponent.id" >
+ <li class="UITab NormalToolbarTab portlet-menu-item">
+ <a class="EditorIcon TBIcon" href="#">$editorLabel</a>
+ <ul class="MenuItemContainer portlet-menu-cascade" style="display:none;">
+ <% if(userCouldEditNavigation){ %>
+ <li class="MenuItem portlet-menu-cascade-item">
+ <a href="javascript:ajaxGet(eXo.env.server.createPortalURL('UIWorkingWorkspace', 'PageCreationWizard', true))" title="" class="ItemIcon AddPageIcon">$addPageLabel</a>
+ </li>
+ <% } %>
+
+ <% if(userCouldEditPage){ %>
+ <li class="MenuItem portlet-menu-cascade-item">
+ <a href="javascript:ajaxGet(eXo.env.server.createPortalURL('UIWorkingWorkspace', 'EditCurrentPage', true))" title="" class="ItemIcon EditPageIcon">$editPageLabel</a>
+ </li>
+ <% } %>
+
+ <% if(userCouldEditPortal){ %>
+ <li class="MenuItem portlet-menu-cascade-item">
+ <a href="javascript:ajaxGet(eXo.env.server.createPortalURL('UIWorkingWorkspace', 'EditInline', true))" title="" class="ItemIcon EditSiteIcon">$editSiteLayout</a>
+ </li>
+ <% } %>
+ </ul>
+ </li>
+</ul>
\ No newline at end of file
Modified: portal/branches/dom/portlet/exoadmin/src/main/webapp/groovy/admintoolbar/webui/component/UIStarToolBarPortlet.gtmpl
===================================================================
--- portal/branches/dom/portlet/exoadmin/src/main/webapp/groovy/admintoolbar/webui/component/UIStarToolBarPortlet.gtmpl 2011-09-05 10:59:49 UTC (rev 7298)
+++ portal/branches/dom/portlet/exoadmin/src/main/webapp/groovy/admintoolbar/webui/component/UIStarToolBarPortlet.gtmpl 2011-09-05 11:03:32 UTC (rev 7299)
@@ -9,24 +9,19 @@
String changeLanguageAction = "if(document.getElementById('UIMaskWorkspace')) ajaxGet(eXo.env.server.createPortalURL('UIPortal', 'ChangeLanguage', true));";
String accountSetting = "if(document.getElementById('UIMaskWorkspace')) ajaxGet(eXo.env.server.createPortalURL('UIPortal', 'AccountSettings', true));";
String changeSkinAction = "if(document.getElementById('UIMaskWorkspace')) ajaxGet(eXo.env.server.createPortalURL('UIPortal', 'ChangeSkin', true));";
-%>
-<div class="UIStarToolBarPortlet" id="$uicomponent.id" >
- <div class="UIHorizontalTabs">
- <div class="TabsContainer">
- <div class="UITab portlet-menu-item" style="width: 62px">
- <div class=""></div>
- <div class="MenuItemContainer portlet-menu-cascade" style="display:none;">
- <div class="MenuItem portlet-menu-cascade-item" onclick="$changeLanguageAction">
- <a href="#" class="ChangeLanguageIcon"><%=_ctx.appRes("UIStarToolbarPortlet.item.ChangeLanguage")%></a>
- </div>
- <div class="MenuItem portlet-menu-cascade-item" onclick="$changeSkinAction">
- <a href="#" class="ChangeSkinIcon"><%=_ctx.appRes("UIStarToolbarPortlet.item.ChangeSkin")%></a>
- </div>
- <div class="MenuItem portlet-menu-cascade-item" onclick="eXo.portal.logout();">
- <a href="#" class="SignOutIcon"><%=_ctx.appRes("UIStarToolbarPortlet.item.Logout")%></a>
- </div>
- </div>
- </div>
- </div>
- </div>
-</div>
+%>
+<ul class="UIStarToolBarPortlet UIHorizontalTabs" id="$uicomponent.id" >
+ <li class="UITab portlet-menu-item" style="width: 62px">
+ <ul class="MenuItemContainer portlet-menu-cascade" style="display:none;">
+ <li class="MenuItem portlet-menu-cascade-item" onclick="$changeLanguageAction">
+ <a href="#" class="ChangeLanguageIcon"><%=_ctx.appRes("UIStarToolbarPortlet.item.ChangeLanguage")%></a>
+ </li>
+ <li class="MenuItem portlet-menu-cascade-item" onclick="$changeSkinAction">
+ <a href="#" class="ChangeSkinIcon"><%=_ctx.appRes("UIStarToolbarPortlet.item.ChangeSkin")%></a>
+ </li>
+ <li class="MenuItem portlet-menu-cascade-item" onclick="eXo.portal.logout();">
+ <a href="#" class="SignOutIcon"><%=_ctx.appRes("UIStarToolbarPortlet.item.Logout")%></a>
+ </li>
+ </ul>
+ </li>
+</ul>
Modified: portal/branches/dom/portlet/exoadmin/src/main/webapp/groovy/admintoolbar/webui/component/UIUserInfoPortlet.gtmpl
===================================================================
--- portal/branches/dom/portlet/exoadmin/src/main/webapp/groovy/admintoolbar/webui/component/UIUserInfoPortlet.gtmpl 2011-09-05 10:59:49 UTC (rev 7298)
+++ portal/branches/dom/portlet/exoadmin/src/main/webapp/groovy/admintoolbar/webui/component/UIUserInfoPortlet.gtmpl 2011-09-05 11:03:32 UTC (rev 7299)
@@ -5,16 +5,16 @@
def rcontext = _ctx.getRequestContext();
String accountSetting = "javascript:if(document.getElementById('UIMaskWorkspace')) ajaxGet(eXo.env.server.createPortalURL('UIPortal', 'AccountSettings', true));"
-%>
-<div class="UIUserInfoPortlet" id="$uicomponent.id">
- <div class="Name">
+%>
+<ul class="UIUserInfoPortlet" id="$uicomponent.id">
+ <li class="Name">
<% if(rcontext.getRemoteUser() != null) {
- EntityEncoder encoder = EntityEncoder.FULL;
- fullName = encoder.encode(uicomponent.getUser().getFullName());
+ EntityEncoder encoder = EntityEncoder.FULL;
+ fullName = encoder.encode(uicomponent.getUser().getFullName());
%>
<a href="$accountSetting"><%=fullName%></a>
<%} else {%>
<span></span>
<%}%>
- </div>
-</div>
+ </li>
+</li>
Modified: portal/branches/dom/portlet/exoadmin/src/main/webapp/groovy/admintoolbar/webui/component/UIUserToolBarDashboardPortlet.gtmpl
===================================================================
--- portal/branches/dom/portlet/exoadmin/src/main/webapp/groovy/admintoolbar/webui/component/UIUserToolBarDashboardPortlet.gtmpl 2011-09-05 10:59:49 UTC (rev 7298)
+++ portal/branches/dom/portlet/exoadmin/src/main/webapp/groovy/admintoolbar/webui/component/UIUserToolBarDashboardPortlet.gtmpl 2011-09-05 11:03:32 UTC (rev 7299)
@@ -1,3 +1,4 @@
+<<<<<<< HEAD
<%
import org.exoplatform.web.application.JavascriptManager;
import org.exoplatform.portal.webui.util.Util ;
@@ -21,15 +22,13 @@
PortalURL nodeURL = nodeurl();
void renderDashboards(PortalURL nodeURL, PortalRequestContext pcontext, Collection nodes) {
print """
- <div style="display:none" class="MenuItemContainer">
- <div class="SubBlock">
+ <ul style="display:none" class="MenuItemContainer">
""";
for(UserNode node : nodes) {
renderPageNode(nodeURL, pcontext, node);
}
print """
- </div>
- </div>
+ </ul>
""" ;
}
@@ -67,33 +66,27 @@
}
print """
- <div class="MenuItem $tabStyleNavigation" $getNodeURL>
- <div class="$clazz">
+ <li class="MenuItem $clazz $tabStyleNavigation" $getNodeURL>
""";
if(node.pageRef != null) {
print """<a class="ItemIcon $icon" href="$href" $title>$label</a>""";
} else {
print """<a class="ItemIcon $icon" href="#" $title>$label</a>""";
}
- print """
- </div>
- """ ;
if(hasChild) {
print """
- <div class="MenuItemContainer">
- <div class="SubBlock">
+ <ul class="MenuItemContainer">
""" ;
for(UserNode child : node.getChildren()) {
renderPageNode(nodeURL, pcontext, child);
}
print """
- </div>
- </div>
+ </ul>
""" ;
}
print """
- </div>
+ </li>
""" ;
}
%>
@@ -103,31 +96,19 @@
if(userNodes.size() < 1) {
String createDashboardLink = nodeURL.setResource(new NavigationResource(SiteType.USER, rcontext.getRemoteUser(), null)).toString();
%>
- <div class="UIUserToolBarDashboardPortlet" id="$uicomponent.id">
- <div class="UIHorizontalTabs">
- <div class="TabsContainer">
- <div class="UITab NormalToolbarTab">
- <div class="">
- <a class="DashboardIcon TBIcon" href="<%= createDashboardLink%>">Dashboard</a>
- </div>
- </div>
- </div>
- </div>
- </div>
+ <ul class="UIUserToolBarDashboardPortlet UIHorizontalTabs" id="$uicomponent.id">
+ <li class="UITab NormalToolbarTab">
+ <a class="DashboardIcon TBIcon" href="<%= createDashboardLink%>">Dashboard</a>
+ </li>
+ </ul>
<%
}else{
String link = nodeURL.setResource(new NavigationResource(SiteType.USER, rcontext.getRemoteUser(), null)).toString();
%>
- <div class="UIUserToolBarDashboardPortlet" id="$uicomponent.id" >
- <div class="UIHorizontalTabs">
- <div class="TabsContainer" >
- <div class="UITab NormalToolbarTab">
- <div class="">
- <a class="DashboardIcon TBIcon" href="<%= link%>">Dashboard</a>
- </div>
- <% renderDashboards(nodeURL, pcontext, userNodes); %>
- </div>
- </div>
- </div>
- </div>
+ <ul class="UIUserToolBarDashboardPortlet UIHorizontalTabs" id="$uicomponent.id" >
+ <li class="UITab NormalToolbarTab">
+ <a class="DashboardIcon TBIcon" href="<%= link%>">Dashboard</a>
+ <% renderDashboards(nodeURL, pcontext, userNodes); %>
+ </li>
+ </ul>
<% } %>
Modified: portal/branches/dom/portlet/exoadmin/src/main/webapp/groovy/admintoolbar/webui/component/UIUserToolBarGroupPortlet.gtmpl
===================================================================
--- portal/branches/dom/portlet/exoadmin/src/main/webapp/groovy/admintoolbar/webui/component/UIUserToolBarGroupPortlet.gtmpl 2011-09-05 10:59:49 UTC (rev 7298)
+++ portal/branches/dom/portlet/exoadmin/src/main/webapp/groovy/admintoolbar/webui/component/UIUserToolBarGroupPortlet.gtmpl 2011-09-05 11:03:32 UTC (rev 7299)
@@ -25,20 +25,16 @@
void renderGroupPageNavigation(UserNavigation navigation, PortalURL nodeURL) {
def nodes = uicomponent.getNavigationNodes(navigation);
- if(nodes.size() < 1) return ;
- String navTitle = _ctx.appRes("UIPageNavigation.label.titleBar") ;
- def ownerId = navigation.getKey().getName();
- navTitle = navTitle.replace("{0}", OrganizationUtils.getGroupLabel(ownerId));
+ if(nodes.size() < 1) return ;
+ String navTitle = _ctx.appRes("UIPageNavigation.label.titleBar") ;
+ def ownerId = navigation.getKey().getName();
+ navTitle = navTitle.replace("{0}", OrganizationUtils.getGroupLabel(ownerId));
print """
- <div class="TitleBar portlet-menu-description"><div style="width: 99%" title="$ownerId">$navTitle</div></div>
- <div class="SubBlock">
- """ ;
- for(UserNode node : nodes) {
- renderPageNode(node, nodeURL);
- }
- print """
- </div>
- """ ;
+ <li class="TitleBar portlet-menu-description" title="$ownerId">$navTitle</li>
+ """ ;
+ for(UserNode node : nodes) {
+ renderPageNode(node, nodeURL);
+ }
}
void renderPageNode(UserNode node, PortalURL nodeURL) {
@@ -66,58 +62,44 @@
MimeResponse res = _ctx.getRequestContext().getResponse();
ResourceURL resourceURL = res.createResourceURL();
resourceURL.setResourceID(groupId + "::" + node.getURI());
- getNodeURL = "exo:getNodeURL='" + resourceURL.toString() + "'";
- }
-
+ getNodeURL = "exo:getNodeURL='" + resourceURL.toString() + "'";
+ }
+
print """
- <div class="MenuItem $tabStyleNavigation portlet-menu-cascade-item" $getNodeURL>
- <div class="$clazz">
+ <li class="MenuItem $clazz $tabStyleNavigation portlet-menu-cascade-item" $getNodeURL>
""";
if(node.pageRef != null) {
print """<a class="ItemIcon $icon" href="$actionLink" $title>$label</a>""";
} else {
print """<a class="ItemIcon $icon" href="#" $title>$label</a>""";
}
- print """
- </div>
- """ ;
if(hasChild) {
- print """
- <div class="MenuItemContainer portlet-menu-cascade-separator" style="position: absolute; display:none">
- <div class="SubBlock">
+ print """
+ <ul class="MenuItemContainer portlet-menu-cascade-separator" style="position: absolute; display:none">
""" ;
- for(UserNode child : node.getChildren()) {
- renderPageNode(child, nodeURL);
- }
- print """
- </div>
- </div>
- """ ;
-
- }
- print """
- </div>
- """ ;
+ for(UserNode child : node.getChildren()) {
+ renderPageNode(child, nodeURL);
+ }
+ print """
+ </ul>
+ """ ;
+
+ }
+ print """
+ </li>
+ """ ;
}
- def currentPortal = pcontext.getPortalOwner();
+ def currentPortal = pcontext.getPortalOwner();
%>
-<div class="UIUserToolBarGroupPortlet" id="$uicomponent.id" >
- <div class="UIHorizontalTabs">
- <div class="TabsContainer">
- <div class="UITab NormalToolbarTab portlet-menu-item">
- <div class="">
- <a class="GroupIcon TBIcon" href="<%=nodeURL.setResource(new NavigationResource(SiteType.PORTAL, currentPortal, "groupnavigation")).toString() %>" ><%=_ctx.appRes("UIUserToolBarGroupPortlet.header.group")%></a>
- </div>
- <%
- if (!groupNavigations.isEmpty()) {
- %>
- <div style="display:none" class="MenuItemContainer portlet-menu-cascade">
- <% for(nav in groupNavigations) {
- renderGroupPageNavigation(nav, nodeURL);
- } %>
- </div>
- <% } %>
- </div>
- </div>
- </div>
-</div>
+<ul class="UIUserToolBarGroupPortlet UIHorizontalTabs" id="$uicomponent.id" >
+ <li class="UITab NormalToolbarTab portlet-menu-item">
+ <a class="GroupIcon TBIcon" href="<%=nodeURL.setResource(new NavigationResource(SiteType.PORTAL, currentPortal, "groupnavigation")).toString() %>"><%=_ctx.appRes("UIUserToolBarGroupPortlet.header.group")%></a>
+ <% if (!groupNavigations.isEmpty()) { %>
+ <ul style="display:none" class="MenuItemContainer portlet-menu-cascade">
+ <% for(nav in groupNavigations) {
+ renderGroupPageNavigation(nav, nodeURL);
+ } %>
+ </ul>
+ <% } %>
+ </li>
+</ul>
Modified: portal/branches/dom/portlet/exoadmin/src/main/webapp/groovy/admintoolbar/webui/component/UIUserToolBarSitePortlet.gtmpl
===================================================================
--- portal/branches/dom/portlet/exoadmin/src/main/webapp/groovy/admintoolbar/webui/component/UIUserToolBarSitePortlet.gtmpl 2011-09-05 10:59:49 UTC (rev 7298)
+++ portal/branches/dom/portlet/exoadmin/src/main/webapp/groovy/admintoolbar/webui/component/UIUserToolBarSitePortlet.gtmpl 2011-09-05 11:03:32 UTC (rev 7299)
@@ -13,7 +13,7 @@
import org.exoplatform.portal.config.model.PortalConfig;
def rcontext = _ctx.getRequestContext() ;
- JavascriptManager jsmanager = rcontext.getJavascriptManager();
+ JavascriptManager jsmanager = rcontext.getJavascriptManager();
jsmanager.importJavascript('eXo.portal.UIPortalNavigation') ;
jsmanager.importJavascript('eXo.portal.UIAdminToolbar') ;
jsmanager.addCustomizedOnLoadScript('eXo.portal.UIAdminToolbar.onLoad("' + uicomponent.id + '");');
@@ -23,14 +23,13 @@
void renderPortalNavigations(PortalURL nodeURL) {
print """
- <div style="position: absolute; display:none" class="MenuItemContainer portlet-menu-cascade">
- <div class="SubBlock">
+ <ul style="position: absolute; display:none" class="MenuItemContainer portlet-menu-cascade">
""";
boolean isCurrent = false;
String clazz = "";
String href = "#";
- for(int i = 0; i < uicomponent.getAllPortalNames().size(); i++) {
+ for(int i = 0; i < uicomponent.getAllPortalNames().size(); i++) {
String portalName = uicomponent.getAllPortalNames().get(i);
if(portalName.equals(uicomponent.getCurrentPortal())) {
isCurrent = true;
@@ -45,37 +44,33 @@
EntityEncoder entityEncoder = EntityEncoder.FULL;
label = uicomponent.getPortalLabel(portalName);
label = entityEncoder.encode(label);
- print """
- <div class="MenuItem portlet-menu-cascade-item">
- <div class="$clazz">
- <a href="$href" class="ItemIcon SiteIcon">$label</a>
- </div>
+ print """
+ <li class="MenuItem $clazz portlet-menu-cascade-item">
+ <a href="$href" class="ItemIcon SiteIcon">$label</a>
""";
if(isCurrent) {
renderCurrentPortal(nodeURL);
}
print """
- </div>
+ </li>
""";
}
print """
- </div>
- </div>
+
+ </ul>
""";
- }
+ }
void renderCurrentPortal(PortalURL nodeURL) {
def nodes = _ctx.getRequestContext().getAttribute("nodes");
print """
- <div style="position: absolute; display:none" class="MenuItemContainer portlet-menu-cascade">
- <div class="SubBlock">
+ <ul style="position: absolute; display:none" class="MenuItemContainer portlet-menu-cascade">
""";
for(UserNode node : nodes) {
renderPageNode(nodeURL, node);
}
print """
- </div>
- </div>
+ </ul>
""";
}
@@ -103,12 +98,11 @@
MimeResponse res = _ctx.getRequestContext().getResponse();
ResourceURL resourceURL = res.createResourceURL();
resourceURL.setResourceID(node.getURI());
- getNodeURL = "exo:getNodeURL='" + resourceURL.toString() + "'";
+ getNodeURL = "exo:getNodeURL='" + resourceURL.toString() + "'";
}
print """
- <div class="MenuItem $tabStyleNavigation portlet-menu-cascade-item" $getNodeURL>
- <div class="$clazz">
+ <li class="MenuItem $tabStyleNavigation $clazz portlet-menu-cascade-item" $getNodeURL>
""";
if(node.pageRef != null) {
print """<a class="ItemIcon $icon" href="$href" $title>$label</a>""";
@@ -116,44 +110,35 @@
print """<a class="ItemIcon $icon" href="#" $title>$label</a>""";
}
print """
- </div>
+
""" ;
if(hasChild) {
- print """
- <div class="MenuItemContainer portlet-menu-indicator" style="position: absolute; display:none">
- <div class="SubBlock">
+ print """
+ <ul class="MenuItemContainer portlet-menu-indicator" style="position: absolute; display:none">
""" ;
for(UserNode child : node.getChildren()) {
renderPageNode(nodeURL, child);
- }
- print """
- </div>
- </div>
- """ ;
-
- }
+ }
+ print """
+ </ul>
+ """ ;
+
+ }
print """
- </div>
- """ ;
+ </li>
+ """ ;
}
-
def currentPortal = uicomponent.getCurrentPortal();
def navigation = uicomponent.getNavigation(SiteKey.portal(currentPortal));
def nodes = uicomponent.getNavigationNodes(navigation);
- _ctx.getRequestContext().setAttribute("nodes", nodes);
-%>
-
-<div class="UIUserToolBarSitePortlet" id="$uicomponent.id" >
- <div class="UIHorizontalTabs">
- <div class="TabsContainer">
- <div class="UITab NormalToolbarTab portlet-menu-item">
- <div class="">
- <a class="SitesIcon TBIcon" href="<%= nodeURL.setResource(new NavigationResource(SiteType.PORTAL, currentPortal, "portalnavigation")).toString() %>">
- <%=_ctx.appRes("UIUserToolBarSitePortlet.header.site")%>
- </a>
- </div>
- <% renderPortalNavigations(nodeURL) %>
- </div>
- </div>
- </div>
-</div>
+ _ctx.getRequestContext().setAttribute("nodes", nodes);
+%>
+
+<ul class="UIUserToolBarSitePortlet UIHorizontalTabs" id="$uicomponent.id" >
+ <li class="UITab NormalToolbarTab portlet-menu-item">
+ <a class="SitesIcon TBIcon" href="<%= nodeURL.setResource(new NavigationResource(SiteType.PORTAL, currentPortal, "portalnavigation")).toString() %>">
+ <%=_ctx.appRes("UIUserToolBarSitePortlet.header.site")%>
+ </a>
+ <% renderPortalNavigations(nodeURL) %>
+ </li>
+</ul>
Modified: portal/branches/dom/portlet/web/src/main/webapp/groovy/portal/webui/component/UIPortalNavigation.gtmpl
===================================================================
--- portal/branches/dom/portlet/web/src/main/webapp/groovy/portal/webui/component/UIPortalNavigation.gtmpl 2011-09-05 10:59:49 UTC (rev 7298)
+++ portal/branches/dom/portlet/web/src/main/webapp/groovy/portal/webui/component/UIPortalNavigation.gtmpl 2011-09-05 11:03:32 UTC (rev 7299)
@@ -73,8 +73,8 @@
}
print "</li>";
}
-%>
-<ul class="UINavigationBar <%=uicomponent.getCssClassName()%>" >
+%>
+<ul class="UINavigationBar UIHorizontalTabs <%=uicomponent.getCssClassName()%>" >
<%
MimeResponse res = _ctx.getRequestContext().getResponse();
Modified: portal/branches/dom/portlet/web/src/main/webapp/skin/portal/webui/component/UINavigationPortlet/DefaultSkin/background/NavDownArrow.gif
===================================================================
(Binary files differ)
Modified: portal/branches/dom/portlet/web/src/main/webapp/skin/portal/webui/component/UINavigationPortlet/DefaultSkin/background/NavDownArrowHover.gif
===================================================================
(Binary files differ)
Modified: portal/branches/dom/portlet/web/src/main/webapp/skin/portal/webui/component/UINavigationPortlet/DefaultStylesheet.css
===================================================================
--- portal/branches/dom/portlet/web/src/main/webapp/skin/portal/webui/component/UINavigationPortlet/DefaultStylesheet.css 2011-09-05 10:59:49 UTC (rev 7298)
+++ portal/branches/dom/portlet/web/src/main/webapp/skin/portal/webui/component/UINavigationPortlet/DefaultStylesheet.css 2011-09-05 11:03:32 UTC (rev 7299)
@@ -52,11 +52,10 @@
.UINavigationPortlet .UINavigationBar .UITab {
float:left;/* orientation=lt */
float:right;/* orientation=rt */
- margin: 6px 8px 0 0;
+ margin: 6px 10px 0 0;
font-weight:bold;
text-align:center;
}
-
.UINavigationPortlet .UITab > span {
padding: 0 6px;
color: #f57a00;
@@ -75,8 +74,8 @@
.UINavigationPortlet .UITab a.TabIcon {
display:block;
- padding:0 0 0 20px;/* orientation=lt */
- padding:0 20px 0 0px;/* orientation=rt */
+ padding:0 0 0 21px;/* orientation=lt */
+ padding:0 21px 0 0px;/* orientation=rt */
background-position: right;/* orientation=rt */
}
@@ -124,6 +123,7 @@
.UINavigationPortlet .HighlightNavigationTab > span {
background-color:#6D94C8;
+ margin-bottom: 5px;
}
@@ -199,7 +199,7 @@
.UINavigationPortlet .MenuItemContainer .ItemIcon {
height: 24px;
width: auto;
- background-position: right;/* orientation=rt */
+ background-position: right;/* orientation=rt */
}
/*============ Scroll Buttons =====================*/
@@ -210,7 +210,8 @@
cursor:pointer;
float: right; /* orientation=lt */
float: left; /* orientation=rt */
- height: 15px;
+ height: 15px;
+ width: 20px;
}
.UINavigationPortlet .ScrollButtons a {
@@ -243,12 +244,12 @@
background: url('DefaultSkin/background/Button-rt.gif') no-repeat left -30px; /* orientation=rt */
}
-.UINavigationPortlet .ScrollLeftButton:hover {
+.UINavigationPortlet .HighlightScrollLeftButton ,.UINavigationPortlet .ScrollLeftButton:hover{
background: url('DefaultSkin/background/Button.gif') no-repeat left top; /* orientation=lt */
background: url('DefaultSkin/background/Button-rt.gif') no-repeat right top; /* orientation=rt */
}
-.UINavigationPortlet .ScrollRightButton:hover {
+.UINavigationPortlet .HighlightScrollRightButton,.UINavigationPortlet .ScrollRightButton:hover {
background: url('DefaultSkin/background/Button.gif') no-repeat right top; /* orientation=lt */
background: url('DefaultSkin/background/Button-rt.gif') no-repeat left top; /* orientation=rt */
}
@@ -260,5 +261,10 @@
}
.UINavigationPortlet .GroupNavigation .HighlightNavigationTab > span {
+<<<<<<< HEAD
background-color:#ffcf01;
}
+=======
+ background-color:#ffcf01;
+}
+>>>>>>> 4765c2a... EXOGTN-427 [DOM] Admin Toolbar optimization
Modified: portal/branches/dom/web/eXoResources/src/main/webapp/javascript/eXo/portal/UIAdminToolbar.js
===================================================================
--- portal/branches/dom/web/eXoResources/src/main/webapp/javascript/eXo/portal/UIAdminToolbar.js 2011-09-05 10:59:49 UTC (rev 7298)
+++ portal/branches/dom/web/eXoResources/src/main/webapp/javascript/eXo/portal/UIAdminToolbar.js 2011-09-05 11:03:32 UTC (rev 7299)
@@ -19,8 +19,8 @@
function UIAdminToolbar() {} ;
UIAdminToolbar.prototype.onLoad = function(baseId) {
- var uiNavPortlet = document.getElementById(baseId) ;
- var mainContainer = eXo.core.DOMUtil.findFirstDescendantByClass(uiNavPortlet, "div", "TabsContainer");
+ var uiNavPortlet = document.getElementById(baseId).parentNode ;
+ var mainContainer = eXo.core.DOMUtil.findFirstDescendantByClass(uiNavPortlet, "ul", "UIHorizontalTabs");
if(mainContainer) eXo.portal.UIPortalNavigation.init(uiNavPortlet, mainContainer, 0, 0);
} ;
Modified: portal/branches/dom/web/eXoResources/src/main/webapp/javascript/eXo/portal/UIPortalNavigation.js
===================================================================
--- portal/branches/dom/web/eXoResources/src/main/webapp/javascript/eXo/portal/UIPortalNavigation.js 2011-09-05 10:59:49 UTC (rev 7298)
+++ portal/branches/dom/web/eXoResources/src/main/webapp/javascript/eXo/portal/UIPortalNavigation.js 2011-09-05 11:03:32 UTC (rev 7299)
@@ -50,7 +50,7 @@
var uiWorkingWorkspace = document.getElementById("UIWorkingWorkspace");
var uiNavPortlets = eXo.core.DOMUtil.findDescendantsByClass(uiWorkingWorkspace, "div", "UINavigationPortlet");
if (uiNavPortlets.length) {
- var mainContainer = eXo.core.DOMUtil.findFirstDescendantByClass(uiNavPortlets[0], "ul", "UINavigationBar");
+ var mainContainer = eXo.core.DOMUtil.findFirstDescendantByClass(uiNavPortlets[0], "ul", "UIHorizontalTabs");
eXo.portal.UIPortalNavigation.init(uiNavPortlets[0], mainContainer, 0, 0);
for (var i = 1; i < uiNavPortlets.length; ++i) {
uiNavPortlets[i].style.display = "none";
@@ -71,7 +71,7 @@
*/
UIPortalNavigation.prototype.buildMenu = function(popupMenu) {
var DOMUtil = eXo.core.DOMUtil;
- var topContainer = DOMUtil.findFirstDescendantByClass(popupMenu, "ul", "UINavigationBar");
+ var topContainer = DOMUtil.findFirstDescendantByClass(popupMenu, "ul", "UIHorizontalTabs");
topContainer.id = "PortalNavigationTopContainer";
// Top menu items
var topItems = DOMUtil.findDescendantsByClass(topContainer, "li", "UITab");
@@ -190,7 +190,7 @@
for(var i = 0; i < uicomponents.length; i ++) {
var navPortlet = DOMUtil.findFirstDescendantByClass(uicomponents[i], "div", "UINavigationPortlet") ;
if(navPortlet && (navAncestor != navPortlet)) {
- var tabsContainer = DOMUtil.findFirstDescendantByClass(navPortlet, "ul", "UINavigationBar");
+ var tabsContainer = DOMUtil.findFirstDescendantByClass(navPortlet, "ul", "UIHorizontalTabs");
tabsContainer.style.position = "static" ;
}
}
@@ -346,7 +346,7 @@
for(var i = 0; i < uicomponents.length; i ++) {
var navPortlet = DOMUtil.findFirstDescendantByClass(uicomponents[i], "div", "UINavigationPortlet") ;
if(navPortlet) {
- var tabsContainer = DOMUtil.findFirstDescendantByClass(navPortlet, "ul", "UINavigationBar");
+ var tabsContainer = DOMUtil.findFirstDescendantByClass(navPortlet, "ul", "UIHorizontalTabs");
tabsContainer.style.position = "relative" ;
}
}
Modified: portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIToolbarContainer/Stylesheet.css
===================================================================
--- portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIToolbarContainer/Stylesheet.css 2011-09-05 10:59:49 UTC (rev 7298)
+++ portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIToolbarContainer/Stylesheet.css 2011-09-05 11:03:32 UTC (rev 7299)
@@ -21,6 +21,11 @@
padding: 0px;
height: auto;
}
+.UIToolbarContainer ul {
+ padding:0;
+ margin:0;
+ list-style:none;
+}
.UIToolbarContainer .UserInfoPortletTDContainer {
float: right; /* orientation=lt */
@@ -69,7 +74,7 @@
color: #058ee6;
}
-.UIToolbarContainer .UIHorizontalTabs .TabsContainer {
+.UIToolbarContainer .UIHorizontalTabs {
height: 32px; /* orientation=lt */
height: auto; /* orientation=rt */
float: left; /* orientation=lt */
@@ -115,9 +120,13 @@
position: absolute;
border: 1px solid #9e9fa3;
display: none;
- z-index: 1;
+ z-index: 1;
}
+ .UIToolbarContainer .MenuItemContainer li{
+ display:block;
+}
+
.UIToolbarContainer .TitleBar {
background: #cdd7e0;
height: 23px;
@@ -130,24 +139,29 @@
filter: alpha(opacity=90);
}
+.UIToolbarContainer .ArrowIcon {
+ background: url('background/ToolbarContainer.gif') no-repeat right bottom; /* orientation=lt */
+ background: url('background/ToolbarContainer-rt.gif') no-repeat -5px bottom; /* orientation=rt */
+}
+
.UIToolbarContainer .MenuItem {
- background: #f5f9fa;
- opacity: 0.9;
- filter: alpha(opacity=90);
+ background-color: #f5f9fa;
height: 28px;
line-height: 28px;
width: 100%;
+ opacity: 0.9;
+ filter: alpha(opacity=90);
}
+*+html .UIToolbarContainer .MenuItem {
+ height: auto;
+ width: auto;
+}
+
.UIToolbarContainer .MenuItem .MenuItemHover {
background-color: #a4a4a4;
}
-.UIToolbarContainer .MenuItem .ArrowIcon {
- background: url('background/ToolbarContainer.gif') no-repeat right bottom; /* orientation=lt */
- background: url('background/ToolbarContainer-rt.gif') no-repeat -5px bottom; /* orientation=rt */
-}
-
.UIToolbarContainer .MenuItem a {
padding-right: 25px; /* orientation=lt */
padding-left: 25px; /* orientation=rt */
@@ -166,8 +180,8 @@
}
.UIToolbarContainer .SiteIcon {
- background: url('background/ToolbarContainer.gif') no-repeat 5px -96px; /* orientation=lt */
- background: url('background/ToolbarContainer.gif') no-repeat 100% -96px; /* orientation=rt */
+ background: url('background/ToolbarContainer.gif') no-repeat 5px -98px; /* orientation=lt */
+ background: url('background/ToolbarContainer.gif') no-repeat 100% -98px; /* orientation=rt */
}
.UIToolbarContainer .SitesIcon {
@@ -257,19 +271,15 @@
color: #3e8df0;
}
-.UIToolbarContainer .UIAdminToolbarPortlet .UIHorizontalTabs .UITab {
+.UIToolbarContainer .UIAdminToolbarPortlet .UITab {
background: none;
padding: 0px;
}
-.UIToolbarContainer .UIUserToolbarPortlet .UIHorizontalTabs .TabsContainer {
- width: 400px; /* orientation=rt */
+.UIToolbarContainer .UIAdminToolbarPortlet .UIHorizontalTabs .UITab {
+ float: none; /* orientation=rt */
}
-.UIToolbarContainer .UIAdminToolbarPortlet {
- width: 200px; /* orientation=rt */
-}
-
-.UIToolbarContainer .UIAdminToolbarPortlet .UIHorizontalTabs .UITab {
- float: none; /* orientation=rt */
+.UIUserToolBarSitePortlet .ItemIcon {
+ background-position: 97% center; /* orientation=rt */
}
\ No newline at end of file
Modified: portal/branches/dom/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/view/UIToolbarContainer/background/ToolbarContainer.gif
===================================================================
(Binary files differ)
13 years, 3 months
gatein SVN: r7298 - in portal/branches/dom: portlet/web/src/main/webapp/groovy/portal/webui/component and 4 other directories.
by do-not-reply@jboss.org
Author: phuong_vu
Date: 2011-09-05 06:59:49 -0400 (Mon, 05 Sep 2011)
New Revision: 7298
Added:
portal/branches/dom/portlet/web/src/main/webapp/skin/portal/webui/component/UINavigationPortlet/DefaultSkin/background/NavDownArrowHover.gif
Modified:
portal/branches/dom/examples/skins/simpleskin/src/main/webapp/skin/webPortlet/webui/component/UIPortalNavigationPortlet/Stylesheet.css
portal/branches/dom/portlet/web/src/main/webapp/groovy/portal/webui/component/UIPortalNavigation.gtmpl
portal/branches/dom/portlet/web/src/main/webapp/skin/portal/webui/component/UINavigationPortlet/DefaultSkin/background/NavDownArrow.gif
portal/branches/dom/portlet/web/src/main/webapp/skin/portal/webui/component/UINavigationPortlet/DefaultStylesheet.css
portal/branches/dom/web/eXoResources/src/main/webapp/javascript/eXo/portal/UIPortalControl.js
portal/branches/dom/web/eXoResources/src/main/webapp/javascript/eXo/portal/UIPortalNavigation.js
portal/branches/dom/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIHorizontalTabs.js
Log:
[DOM] UIPortalNavigation optimization
Modified: portal/branches/dom/examples/skins/simpleskin/src/main/webapp/skin/webPortlet/webui/component/UIPortalNavigationPortlet/Stylesheet.css
===================================================================
--- portal/branches/dom/examples/skins/simpleskin/src/main/webapp/skin/webPortlet/webui/component/UIPortalNavigationPortlet/Stylesheet.css 2011-09-05 08:21:16 UTC (rev 7297)
+++ portal/branches/dom/examples/skins/simpleskin/src/main/webapp/skin/webPortlet/webui/component/UIPortalNavigationPortlet/Stylesheet.css 2011-09-05 10:59:49 UTC (rev 7298)
@@ -27,181 +27,80 @@
.UINavigationPortlet {
border-bottom: 1px solid #e5e5e5;
}
-
-.UINavigationPortlet .UINavigationBar {
- white-space: nowrap;
-}
-.UINavigationPortlet .UINavigationBar .UIHorizontalTabs {
- height: 30px;
+.UINavigationPortlet ul {
+ list-style:none;
+ padding:0px;
+ margin:0px;
}
-
-.UINavigationPortlet .UINavigationBar .UIHorizontalTabs .TabsContainer {
+
+.UINavigationPortlet .UINavigationBar {
+ white-space: nowrap;
+ padding: 0px 24px;
+ background: #f9f9f9;
float: none;
!position: relative;
height: 30px;
}
-.UINavigationPortlet .UINavigationBar .LeftNavigationBar {
+.UINavigationPortlet .UINavigationBar .UITab {
+ float:left;/* orientation=lt */
+ float:right;/* orientation=rt */
+ text-align:center;
}
-.UINavigationPortlet .UINavigationBar .RightNavigationBar {
-}
-
-.UINavigationPortlet .UINavigationBar .MiddleNavigationBar {
- padding: 0px 24px;
- background: #f9f9f9;
-}
-
-.UINavigationPortlet .UITab a.TabLabel {
+.UINavigationPortlet .UITab a.TabIcon {
display: block;
- padding: 0px 0px 0px 20px; /* orientation=lt */
- padding: 0px 20px 0px 0px; /* orientation=rt */
- background-position: left; /* orientation=lt */
- background-position: right; /* orientation=rt */
+ padding-left: 20px;/* orientation=lt */
+ padding-right: 20px;/* orientation=rt */
+ line-height: 27px;
+ background-position: right ;/* orientation=rt */
}
-.UINavigationPortlet .UITab a.DefaultPageIcon {
+.UINavigationPortlet .UITab > span a.DefaultPageIcon {
background: none;
padding: 0px;
}
-/*###########################--NavigationTabTab--############################*/
-
-.UINavigationPortlet .UITab .NormalNavigationTab {
- line-height: 230px;
- margin: 0px 8px 0px 0px;
+.UINavigationPortlet .SelectedNavigationTab .TabIcon {
+ font-weight:bold;
}
-.UINavigationPortlet .UITab .NormalNavigationTab .LeftTab {
- line-height: 30px;
+.UINavigationPortlet .UITab > span {
+ display:block;
+ padding: 0px;
+ margin-right: 24px;/* orientation=lt */
+ margin-left: 24px;/* orientation=rt */
}
-.UINavigationPortlet .UITab .NormalNavigationTab .RightTab {
- line-height: 30px;
+.UINavigationPortlet .UITab .DropDownArrowIcon {
+ background: url('background/NavDownArrow.gif') no-repeat right center; /* orientation=lt */
+ background: url('background/NavDownArrow.gif') no-repeat left center; /* orientation=rt */
+ padding: 0 16px 0 0px; /* orientation=lt */
+ padding: 0 0px 0 16px; /* orientation=rt */
}
-.UINavigationPortlet .UITab .NormalNavigationTab .MiddleTab {
- line-height: 30px;
- text-align: center;
- padding: 0px 10px;
-}
-
-.UINavigationPortlet .UITab .NormalNavigationTab .TabIcon {
- line-height: 27px;
-}
-
-.UINavigationPortlet .UITab .NormalNavigationTab a {
- color: #565656;
- font-weight: normal;
-}
-
-.UINavigationPortlet .UITab .NormalNavigationTab .DropDownArrowIcon {
- padding-right: 12px; /* orientation=lt */
- padding-left: 12px; /* orientation=rt */
- background: url('background/NavDownArrow.gif') no-repeat right; /* orientation=lt */
- background: url('background/NavDownArrow.gif') no-repeat left; /* orientation=rt */
- cursor: pointer;
-}
-
-/*###############-Hightlight Navigation Tab -################*/
-
-.UINavigationPortlet .UITab .HighlightNavigationTab {
- line-height: 30px;
- margin: 0px 8px 0px 0px;
-}
-
-.UINavigationPortlet .UITab .HighlightNavigationTab .LeftTab {
- line-height: 30px;
-}
-
-.UINavigationPortlet .UITab .HighlightNavigationTab .RightTab {
- line-height: 30px;
-}
-
-.UINavigationPortlet .UITab .HighlightNavigationTab .MiddleTab {
- height: 30px;
- text-align: center;
- padding: 0px 10px;
-}
-
-.UINavigationPortlet .UITab .HighlightNavigationTab .TabIcon {
- color: #000;
- line-height: 27px;
+.UINavigationPortlet .HighlightNavigationTab > span,.UINavigationPortlet .SelectedNavigationTab > span {
border-bottom:3px solid #E5E5E5;
}
-.UINavigationPortlet .UITab .HighlightNavigationTab a {
- color: #000;
- font-weight: normal;
-}
+/*============ Submenu =====================*/
-.UINavigationPortlet .UITab .HighlightNavigationTab .DropDownArrowIcon {
- padding-right: 12px; /* orientation=lt */
- padding-left: 12px; /* orientation=rt */
- background: url('background/NavDownArrow.gif') no-repeat right; /* orientation=lt */
- background: url('background/NavDownArrow.gif') no-repeat left; /* orientation=rt */
- cursor: pointer;
-}
-/*###############-Selected Navigation Tab-################*/
-
-.UINavigationPortlet .UITab .SelectedNavigationTab {
- line-height: 30px;
- margin: 0px 8px 0px 0px;
-}
-
-
-.UINavigationPortlet .UITab .SelectedNavigationTab .LeftTab {
- line-height: 30px;
-}
-
-.UINavigationPortlet .UITab .SelectedNavigationTab .RightTab {
- line-height: 30px;
-}
-
-.UINavigationPortlet .UITab .SelectedNavigationTab .MiddleTab {
- line-height: 30px;
- text-align: center;
- padding: 0px 10px;
-}
-
-.UINavigationPortlet .UITab .SelectedNavigationTab .TabIcon {
- color: #000;
- line-height: 27px;
- border-bottom: 3px solid #E5E5E5;
-}
-
-.UINavigationPortlet .UITab .SelectedNavigationTab a {
- color: #000;
-}
-
-.UINavigationPortlet .UITab .SelectedNavigationTab .DropDownArrowIcon {
- padding-right: 12px; /* orientation=lt */
- padding-left: 12px; /* orientation=rt */
- background: url('background/NavDownArrow.gif') no-repeat right center; /* orientation=lt */
- background: url('background/NavDownArrow.gif') no-repeat left center; /* orientation=rt */
- cursor: pointer;
-}
-
.UINavigationPortlet .MenuItemContainer {
white-space: nowrap;
border: solid #b7b7b7 1px; /*fix for IE*/
text-align: left; /* orientation=lt */
text-align: right; /* orientation=rt */
+ padding: 1px 1px 6px 1px;
+ background-color: #FFF;
}
-.UINavigationPortlet .MenuItemContainer .MenuItemDecorator {
- border: 1px solid #fcfcfc;
- background: white;
- padding-bottom: 6px;
-}
-
.UINavigationPortlet .MenuItemContainer .MenuItem {
- border-bottom: 1px solid #fff;
cursor: pointer;
line-height: 24px;
- height: 24px; width: auto;
+ height: 24px;
+ width: auto;
display: block;
white-space: nowrap;
font-weight: normal;
@@ -220,10 +119,7 @@
}
.UINavigationPortlet .MenuItemContainer .SelectedItem {
- line-height: 24px;
- width: auto;
background: #c7c7c7;
- color: #3e8df0;
}
.UINavigationPortlet .MenuItemContainer .SelectedItem a {
@@ -243,7 +139,9 @@
}
.UINavigationPortlet .MenuItemContainer .ItemIcon {
- height: 24px; width: auto;
+ height: 24px;
+ width: auto;
+ background-position: right;/* orientation=rt */
}
.UINavigationPortlet .MenuItemContainer .MenuItem .ArrowIcon {
@@ -251,72 +149,58 @@
width: auto;
background: url('background/Button.gif') no-repeat right -48px; /* orientation=lt */
background: url('background/Button-rt.gif') no-repeat left -48px; /* orientation=rt */
+ display:block;
}
/*============ Scroll Buttons =====================*/
.UINavigationPortlet .ScrollButtons {
+ margin: 10px 0 0 0;
+ display: none;
+ cursor:pointer;
float: right; /* orientation=lt */
float: left; /* orientation=rt */
- padding-top: 10px;
- display: none;
+ height: 15px;
}
+.UINavigationPortlet .ScrollButtons a {
+ display:block;
+ cursor:pointer;
+ width: 10px;
+ height: 15px;
+ float: left; /* orientation=lt */
+ float: right; /* orientation=rt */
+}
+
.UINavigationPortlet .ScrollLeftButton {
- cursor: pointer;
background: url('background/Button.gif') no-repeat left -15px; /* orientation=lt */
background: url('background/Button-rt.gif') no-repeat right -15px; /* orientation=rt */
- width: 10px;
- height: 15px;
- padding-left: 12px; /* orientation=lt */
- padding-right: 12px; /* orientation=rt */
- margin: 0px 5px;
+
}
.UINavigationPortlet .ScrollRightButton {
- cursor: pointer;
background: url('background/Button.gif') no-repeat right -15px; /* orientation=lt */
background: url('background/Button-rt.gif') no-repeat left -15px; /* orientation=rt */
- width: 10px;
- height: 15px;
}
.UINavigationPortlet .DisableScrollLeftButton {
- cursor: pointer;
background: url('background/Button.gif') no-repeat left -30px; /* orientation=lt */
background: url('background/Button-rt.gif') no-repeat right -30px; /* orientation=rt */
- width: 10px;
- height: 15px;
- padding-left: 12px; /* orientation=lt */
- padding-right: 12px; /* orientation=rt */
- margin: 0px 5px;
}
.UINavigationPortlet .DisableScrollRightButton {
- cursor: pointer;
background: url('background/Button.gif') no-repeat right -30px; /* orientation=lt */
background: url('background/Button-rt.gif') no-repeat left -30px; /* orientation=rt */
- width: 10px;
- height: 15px;
}
-.UINavigationPortlet .HighlightScrollLeftButton {
- cursor: pointer;
+.UINavigationPortlet .ScrollLeftButton:hover {
background: url('background/Button.gif') no-repeat left top; /* orientation=lt */
background: url('background/Button-rt.gif') no-repeat right top; /* orientation=rt */
- width: 10px;
- height: 15px;
- padding-left: 12px; /* orientation=lt */
- padding-right: 12px; /* orientation=rt */
- margin: 0px 5px;
}
-.UINavigationPortlet .HighlightScrollRightButton {
- cursor: pointer;
+.UINavigationPortlet .ScrollRightButton:hover {
background: url('background/Button.gif') no-repeat right top; /* orientation=lt */
background: url('background/Button-rt.gif') no-repeat left top; /* orientation=rt */
- width: 10px;
- height: 15px;
}
/***********GroupNavigation*************/
Modified: portal/branches/dom/portlet/web/src/main/webapp/groovy/portal/webui/component/UIPortalNavigation.gtmpl
===================================================================
--- portal/branches/dom/portlet/web/src/main/webapp/groovy/portal/webui/component/UIPortalNavigation.gtmpl 2011-09-05 08:21:16 UTC (rev 7297)
+++ portal/branches/dom/portlet/web/src/main/webapp/groovy/portal/webui/component/UIPortalNavigation.gtmpl 2011-09-05 10:59:49 UTC (rev 7298)
@@ -10,7 +10,7 @@
def rcontext = _ctx.getRequestContext();
JavascriptManager jsmanager = rcontext.getJavascriptManager();
- jsmanager.importJavascript('eXo.webui.UIHorizontalTabs');
+ jsmanager.importJavascript('eXo.webui.UIHorizontalTabs');
jsmanager.importJavascript('eXo.portal.UIPortalNavigation');
jsmanager.addOnLoadJavascript('eXo.portal.UIPortalNavigation.onLoad');
jsmanager.addOnLoadJavascript('eXo.portal.UIPortalNavigation.loadScroll');
@@ -20,33 +20,15 @@
PortalURL nodeURL = nodeurl();
public void renderChildrenContainer(UserNode node, PortalURL nodeURL) {
- print """
- <div class="MenuItemContainer" style="display: none;">
- <div class="MenuItemDecorator">
- <div class="LeftTopMenuDecorator">
- <div class="RightTopMenuDecorator">
- <div class="CenterTopMenuDecorator"><span></span></div>
- </div>
- </div>
- <div class="LeftMiddleMenuDecorator">
- <div class="RightMiddleMenuDecorator">
- <div class="CenterMiddleMenuDecorator">
+ print """
+ <ul class="MenuItemContainer " style="display: none;">
""";
for(child in node.getChildren()) {
renderChildNode(child, nodeURL);
}
- print """
- </div>
- </div>
- </div>
- <div class="LeftBottomMenuDecorator">
- <div class="RightBottomMenuDecorator">
- <div class="CenterBottomMenuDecorator"><span></span></div>
- </div>
- </div>
- </div>
- </div>
- """;
+ print """
+ </ul>
+ """;
}
public void renderChildNode(UserNode node, PortalURL nodeURL) {
@@ -81,27 +63,18 @@
nodeURL.setAjax(uicomponent.isUseAjax());
actionLink = nodeURL.toString();
}
- print """
- <div class="MenuItem $tabStyleNavigation" $getNodeURL>
- <div class="$arrowIcon" title="$title">
- <div class="ItemIcon $icon">
- <a href="$actionLink">$label</a>
- </div>
- </div>
+ print """
+ <li class="MenuItem $tabStyleNavigation $arrowIcon" title="$title" $getNodeURL>
+ <a class="ItemIcon $icon" onclick="$actionLink">$label</a>
""";
if (node.getChildren().size() > 0) {
renderChildrenContainer(node, nodeURL);
}
- print "</div>";
+ print "</li>";
}
-%>
-<div class="UINavigationBar <%=uicomponent.getCssClassName()%>">
- <div class="LeftNavigationBar">
- <div class="RightNavigationBar">
- <div class="MiddleNavigationBar">
- <div class="UIHorizontalTabs">
- <div class="TabsContainer">
+%>
+<ul class="UINavigationBar <%=uicomponent.getCssClassName()%>" >
<%
MimeResponse res = _ctx.getRequestContext().getResponse();
@@ -119,63 +92,46 @@
if (node.getChildrenCount() > 0) {
javax.portlet.ResourceURL resourceURL = res.createResourceURL();
resourceURL.setResourceID(node.getURI());
- %>
- <div class="UITab" exo:getNodeURL="<%=resourceURL.toString() %>">
+ %>
+ <li class="UITab $tabStyleNavigation" exo:getNodeURL="<%=resourceURL.toString() %>">
<% } else { %>
- <div class="UITab">
- <% } %>
- <div class="$tabStyleNavigation">
- <div class="LeftTab">
- <div class="RightTab">
- <div class="MiddleTab">
- <div class="TabIcon">
- <%
- String arrowIcon = "";
- if (node.getChildrenCount() > 0) {
- arrowIcon = "DropDownArrowIcon";
- }
- String iconType = node.getIcon();
- if(iconType == null) iconType = "DefaultPageIcon";
- %>
- <div class="$arrowIcon">
- <%
- String label = node.getEncodedResolvedLabel();
- if(label.length() > 30) label = label.substring(0,29) + "...";
- if(node.getPageRef() != null) {
- nodeURL.setNode(node);
- nodeURL.setAjax(uicomponent.isUseAjax());
- print """
- <a class="TabLabel ${iconType}" href="$nodeURL">$label</a>
- """;
- } else {%>
- <a class="TabLabel ${iconType}" href="javascript:void(0)">$label</a>
- <%}%>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
+ <li class="UITab $tabStyleNavigation">
+ <% }
+ String arrowIcon = "";
+ if (node.getChildrenCount() > 0) {
+ arrowIcon = "DropDownArrowIcon";
+ }
+ String iconType = node.getIcon();
+ if(iconType == null) iconType = "DefaultPageIcon";
+ %>
+ <span class="$arrowIcon">
+ <%
+ String label = node.getEncodedResolvedLabel();
+ if(label.length() > 30) label = label.substring(0,29) + "...";
+ if(node.getPageRef() != null) {
+ nodeURL.setNode(node);
+ nodeURL.setAjax(uicomponent.isUseAjax());
+ print """
+ <a class="TabIcon ${iconType}" href="$nodeURL">$label</a>
+ """;
+ } else {%>
+ <a class="TabIcon ${iconType}" href="javascript:void(0)">$label</a>
+ <%}%>
+ </span>
<%
/*Render Popup Menu*/
if (node.getChildren().size() > 0) {
renderChildrenContainer(node, nodeURL);
}
%>
- </div>
+ </li>
<%
}
}
}
%>
- <div class="ScrollButtons">
- <div class="ScrollLeftButton" title="<%= _ctx.appRes("UIPortalNavigation.Label.Previous") %>">
- <div class="ScrollRightButton" title="<%= _ctx.appRes("UIPortalNavigation.Label.Next") %>"><span></span></div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
-</div>
\ No newline at end of file
+ <li class="ScrollButtons">
+ <a title="<%= _ctx.appRes("UIPortalNavigation.Label.Previous") %>" class="ScrollLeftButton"></a>
+ <a title="<%= _ctx.appRes("UIPortalNavigation.Label.Next") %>" class="ScrollRightButton"></a>
+ </li>
+</ul>
Modified: portal/branches/dom/portlet/web/src/main/webapp/skin/portal/webui/component/UINavigationPortlet/DefaultSkin/background/NavDownArrow.gif
===================================================================
(Binary files differ)
Added: portal/branches/dom/portlet/web/src/main/webapp/skin/portal/webui/component/UINavigationPortlet/DefaultSkin/background/NavDownArrowHover.gif
===================================================================
(Binary files differ)
Property changes on: portal/branches/dom/portlet/web/src/main/webapp/skin/portal/webui/component/UINavigationPortlet/DefaultSkin/background/NavDownArrowHover.gif
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Modified: portal/branches/dom/portlet/web/src/main/webapp/skin/portal/webui/component/UINavigationPortlet/DefaultStylesheet.css
===================================================================
--- portal/branches/dom/portlet/web/src/main/webapp/skin/portal/webui/component/UINavigationPortlet/DefaultStylesheet.css 2011-09-05 08:21:16 UTC (rev 7297)
+++ portal/branches/dom/portlet/web/src/main/webapp/skin/portal/webui/component/UINavigationPortlet/DefaultStylesheet.css 2011-09-05 10:59:49 UTC (rev 7298)
@@ -24,6 +24,12 @@
* version: $Id$
*/
+.UINavigationPortlet ul {
+ list-style:none;
+ padding:0px;
+ margin:0px;
+}
+
.UINavigationPortlet {
background: #b6b6b6;
padding: 0px 8px;
@@ -31,209 +37,132 @@
.UINavigationPortlet .UINavigationBar {
white-space: nowrap;
-}
-
-.UINavigationPortlet .UINavigationBar .UIHorizontalTabs {
- height: 33px;
-}
-
-.UINavigationPortlet .UINavigationBar .UIHorizontalTabs .TabsContainer {
- float: none;
+ background-color:#0e4aaa;
+ padding: 0 10px;
+ height: 33px;
!position: relative;
+ -moz-border-radius-topleft: 5px; /* Firefox up to version 3.6 */
+ -moz-border-radius-topright: 5px;
+ -webkit-border-top-left-radius: 5px; /* Safari, Chrome (before WebKit version 533) */
+ -webkit-border-top-right-radius: 5px;
+ border-top-left-radius: 5px; /*Firefox 4; browsers with CSS3 support */
+ border-top-right-radius: 5px;
}
-.UINavigationPortlet .UINavigationBar .LeftNavigationBar {
- background: url('DefaultSkin/background/LeftNavigation.gif') no-repeat left top;
- padding-left: 3px;
- height: 32px;
+.UINavigationPortlet .UINavigationBar .UITab {
+ float:left;/* orientation=lt */
+ float:right;/* orientation=rt */
+ margin: 6px 8px 0 0;
+ font-weight:bold;
+ text-align:center;
}
-.UINavigationPortlet .UINavigationBar .RightNavigationBar {
- background: url('DefaultSkin/background/RightNavigation.gif') no-repeat right top;
- padding-right: 3px;
- height: 32px;
-}
-
-.UINavigationPortlet .UINavigationBar .MiddleNavigationBar {
- height: 32px;
- background: url('DefaultSkin/background/MiddleNavigation.gif') repeat-x;
- padding: 0px 8px 0px 8px;
-}
-
-.UINavigationPortlet .UITab a.TabLabel {
- display: block;
- padding: 0px 0px 0px 20px; /* orientation=lt */
- padding: 0px 20px 0px 0px; /* orientation=rt */
- background-position: left; /* orientation=lt */
- background-position: right; /* orientation=rt */
-}
-
-.UINavigationPortlet .UITab a.DefaultPageIcon {
- background: none;
- padding: 0px;
-}
-
-/*###########################--NavigationTabTab--############################*/
-
-.UINavigationPortlet .UITab .NormalNavigationTab {
- line-height: 26px;
- margin: 6px 8px 0px 0px;
-}
-
-.UINavigationPortlet .UITab .NormalNavigationTab .LeftTab {
+.UINavigationPortlet .UITab > span {
+ padding: 0 6px;
+ color: #f57a00;
line-height: 21px;
- padding-left: 3px;
+ -moz-border-radius: 5px;
+ -webkit-border-radius: 5px;
+ border-radius: 5px;
+ display:block;
+ zoom:1;
}
-.UINavigationPortlet .UITab .NormalNavigationTab .RightTab {
- line-height: 21px;
- padding-right: 3px;
+.UINavigationPortlet .UITab .DropDownArrowIcon {
+ padding: 0 19px 0 6px;/* orientation=lt */
+ padding: 0 6px 0 19px;/* orientation=rt */
}
-.UINavigationPortlet .UITab .NormalNavigationTab .MiddleTab {
- line-height: 21px;
- text-align: center;
- padding: 0px 4px 0px 4px;
+.UINavigationPortlet .UITab a.TabIcon {
+ display:block;
+ padding:0 0 0 20px;/* orientation=lt */
+ padding:0 20px 0 0px;/* orientation=rt */
+ background-position: right;/* orientation=rt */
}
-.UINavigationPortlet .UITab .NormalNavigationTab .TabIcon {
- color: #fff;
- line-height: 21px;
+.UINavigationPortlet .UITab > span a.DefaultPageIcon {
+ background:none;
+ padding:0;
}
-.UINavigationPortlet .UITab .NormalNavigationTab a {
- color: #fff;
-}
-.UINavigationPortlet .UITab .NormalNavigationTab .DropDownArrowIcon {
- padding-right: 16px; /* orientation=lt */
- padding-left: 16px; /* orientation=rt */
- background: url('DefaultSkin/background/NavDownArrow.gif') no-repeat right; /* orientation=lt */
- background: url('DefaultSkin/background/NavDownArrow.gif') no-repeat left; /* orientation=rt */
- cursor: pointer;
- border-right: 1px solid #0a4da6;
-}
+/*###############-Selected Navigation Tab-################*/
-/*###############-Hightlight Navigation Tab -################*/
-
-.UINavigationPortlet .UITab .HighlightNavigationTab {
+.UINavigationPortlet .UINavigationBar .SelectedNavigationTab {
line-height: 26px;
- margin: 6px 8px 0px 0px;
+ background: url('DefaultSkin/background/NavigationTab.gif') no-repeat center -82px;
+ padding-bottom: 5px;
}
-.UINavigationPortlet .UITab .HighlightNavigationTab .LeftTab {
- line-height: 26px;
- padding-left: 3px;
- background: url('DefaultSkin/background/NavigationTab.gif') no-repeat left -108px;
+.UINavigationPortlet .SelectedNavigationTab > span {
+ background-color:#fff;
}
-.UINavigationPortlet .UITab .HighlightNavigationTab .RightTab {
- line-height: 26px;
- padding-right: 3px;
- background: url('DefaultSkin/background/NavigationTab.gif') no-repeat right -130px;
+.UINavigationPortlet .SelectedNavigationTab a {
+ color: #f57a00;
}
-.UINavigationPortlet .UITab .HighlightNavigationTab .MiddleTab {
- height: 21px;
- text-align: center;
- padding: 0px 4px 0px 4px;
- background: #6d94c8;
- margin-bottom: 4px;
+.UINavigationPortlet .SelectedNavigationTab .DropDownArrowIcon {
+ background:#fff url('DefaultSkin/background/NavDownArrowHover.gif') no-repeat right center; /* orientation=lt */
+ background:#fff url('DefaultSkin/background/NavDownArrowHover.gif') no-repeat left center; /* orientation=rt */
}
-.UINavigationPortlet .UITab .HighlightNavigationTab .TabIcon {
- color: #fff;
- line-height: 21px;
-}
+/*###########################-NormalNavigationTab--############################*/
-.UINavigationPortlet .UITab .HighlightNavigationTab a {
- color: #fff;
-}
-.UINavigationPortlet .UITab .HighlightNavigationTab .DropDownArrowIcon {
- padding-right: 16px; /* orientation=lt */
- padding-left: 16px; /* orientation=rt */
+.UINavigationPortlet .NormalNavigationTab .DropDownArrowIcon {
background: url('DefaultSkin/background/NavDownArrow.gif') no-repeat right; /* orientation=lt */
background: url('DefaultSkin/background/NavDownArrow.gif') no-repeat left; /* orientation=rt */
- cursor: default;
- border-right: 1px solid #6d94c8;
+ cursor: pointer;
}
-/*###############-Selected Navigation Tab-################*/
+/*###########################-Hightlight-NavigationTabTab--############################*/
-.UINavigationPortlet .UITab .SelectedNavigationTab {
- line-height: 26px;
- margin: 6px 8px 0px 0px;
+.UINavigationPortlet .HighlightNavigationTab .TabIcon ,.UINavigationPortlet .NormalNavigationTab .TabIcon{
+ color: #fff;
}
-
-.UINavigationPortlet .UITab .SelectedNavigationTab .LeftTab {
- line-height: 21px;
- background: #0a4da6 url('DefaultSkin/background/NavigationTab.gif') no-repeat left -28px;
- padding-left: 3px;
+.UINavigationPortlet .HighlightNavigationTab > span {
+ background-color:#6D94C8;
}
-.UINavigationPortlet .UITab .SelectedNavigationTab .RightTab {
- line-height: 21px;
- background: #0a4da6 url('DefaultSkin/background/NavigationTab.gif') no-repeat right -55px;
- padding-right: 3px;
-}
-.UINavigationPortlet .UITab .SelectedNavigationTab .MiddleTab {
- line-height: 21px;
- background: #0a4da6 url('DefaultSkin/background/NavigationTab.gif') repeat-x;
- text-align: center;
- padding: 0px 4px 0px 4px;
+.UINavigationPortlet .HighlightNavigationTab .DropDownArrowIcon {
+ background:#6D94C8 url('DefaultSkin/background/NavDownArrow.gif') no-repeat right center; /* orientation=lt */
+ background:#6D94C8 url('DefaultSkin/background/NavDownArrow.gif') no-repeat left center; /* orientation=rt */
}
-.UINavigationPortlet .UITab .SelectedNavigationTab .TabIcon {
- color: #f57a00;
- line-height: 21px;
- padding-bottom: 5px;
- background: url('DefaultSkin/background/NavigationTab.gif') no-repeat center -82px;;
-}
+/*============ Submenu =====================*/
-.UINavigationPortlet .UITab .SelectedNavigationTab a {
- color: #f57a00;
-}
-
-.UINavigationPortlet .UITab .SelectedNavigationTab .DropDownArrowIcon {
- padding-right: 16px; /* orientation=lt */
- padding-left: 16px; /* orientation=rt */
- background: url('DefaultSkin/background/NavDownArrow.gif') no-repeat right center; /* orientation=lt */
- background: url('DefaultSkin/background/NavDownArrow.gif') no-repeat left center; /* orientation=rt */
- cursor: pointer;
- border-right: 1px solid white;
-}
-
.UINavigationPortlet .MenuItemContainer {
white-space: nowrap;
border: solid #b7b7b7 1px; /*fix for IE*/
text-align: left; /* orientation=lt */
text-align: right; /* orientation=rt */
- z-index: 1;
-}
-
-.UINavigationPortlet .MenuItemContainer .MenuItemDecorator {
- border: 1px solid #fcfcfc;
- background: white;
- padding-bottom: 6px;
+ z-index: 1;
+ background: #FFF;
+ padding: 1px 1px 6px 1px;
opacity: 0.9;
- filter: alpha(opacity=90);
}
.UINavigationPortlet .MenuItemContainer .MenuItem {
border-bottom: 1px solid #fff;
cursor: pointer;
line-height: 24px;
- height: 24px; width: auto;
+ height: 24px;
+ width: auto;
display: block;
white-space: nowrap;
font-weight: normal;
- padding-left: 5px; /* orientation=lt */
- padding-right: 5px; /* orientation=rt */
+ padding:0 5px;
}
+.UINavigationPortlet .MenuItemContainer .ArrowIcon{
+ background: url('DefaultSkin/background/Button.gif') no-repeat right -46px; /* orientation=lt */
+ background: url('DefaultSkin/background/Button-rt.gif') no-repeat left -46px; /* orientation=rt */
+}
+
+
.UINavigationPortlet .MenuItemContainer .MenuItem a {
padding: 0px 20px 0px 25px; /* orientation=lt */
padding: 0px 25px 0px 20px; /* orientation=rt */
@@ -247,11 +176,11 @@
.UINavigationPortlet .MenuItemContainer .SelectedItem {
line-height: 24px;
width: auto;
- background: #c7c7c7;
+ background-color: #c7c7c7;
color: #3e8df0;
}
-.UINavigationPortlet .MenuItemContainer .SelectedItem a {
+.UINavigationPortlet .MenuItemContainer .SelectedItem a {
color: #3e8df0;
}
@@ -268,127 +197,68 @@
}
.UINavigationPortlet .MenuItemContainer .ItemIcon {
- height: 24px; width: auto;
-}
-
-.UINavigationPortlet .MenuItemContainer .MenuItem .ArrowIcon {
height: 24px;
width: auto;
- background: url('DefaultSkin/background/Button.gif') no-repeat right -48px; /* orientation=lt */
- background: url('DefaultSkin/background/Button-rt.gif') no-repeat left -48px; /* orientation=rt */
-}
+ background-position: right;/* orientation=rt */
+}
/*============ Scroll Buttons =====================*/
-.UINavigationPortlet .ScrollButtons {
+.UINavigationPortlet .ScrollButtons {
+ margin: 10px 0 0 0;
+ display: none;
+ cursor:pointer;
float: right; /* orientation=lt */
float: left; /* orientation=rt */
- padding-top: 10px;
- display: none;
+ height: 15px;
}
+.UINavigationPortlet .ScrollButtons a {
+ display:block;
+ cursor:pointer;
+ width: 10px;
+ height: 15px;
+ float: left; /* orientation=lt */
+ float: right; /* orientation=rt */
+}
+
.UINavigationPortlet .ScrollLeftButton {
- cursor: pointer;
background: url('DefaultSkin/background/Button.gif') no-repeat left -15px; /* orientation=lt */
background: url('DefaultSkin/background/Button-rt.gif') no-repeat right -15px; /* orientation=rt */
- width: 10px;
- height: 15px;
- padding-left: 12px; /* orientation=lt */
- padding-right: 12px; /* orientation=rt */
- margin: 0px 5px;
+
}
.UINavigationPortlet .ScrollRightButton {
- cursor: pointer;
background: url('DefaultSkin/background/Button.gif') no-repeat right -15px; /* orientation=lt */
background: url('DefaultSkin/background/Button-rt.gif') no-repeat left -15px; /* orientation=rt */
- width: 10px;
- height: 15px;
}
.UINavigationPortlet .DisableScrollLeftButton {
- cursor: pointer;
background: url('DefaultSkin/background/Button.gif') no-repeat left -30px; /* orientation=lt */
background: url('DefaultSkin/background/Button-rt.gif') no-repeat right -30px; /* orientation=rt */
- width: 10px;
- height: 15px;
- padding-left: 12px; /* orientation=lt */
- padding-right: 12px; /* orientation=rt */
- margin: 0px 5px;
}
.UINavigationPortlet .DisableScrollRightButton {
- cursor: pointer;
background: url('DefaultSkin/background/Button.gif') no-repeat right -30px; /* orientation=lt */
background: url('DefaultSkin/background/Button-rt.gif') no-repeat left -30px; /* orientation=rt */
- width: 10px;
- height: 15px;
}
-.UINavigationPortlet .HighlightScrollLeftButton {
- cursor: pointer;
+.UINavigationPortlet .ScrollLeftButton:hover {
background: url('DefaultSkin/background/Button.gif') no-repeat left top; /* orientation=lt */
background: url('DefaultSkin/background/Button-rt.gif') no-repeat right top; /* orientation=rt */
- width: 10px;
- height: 15px;
- padding-left: 12px; /* orientation=lt */
- padding-right: 12px; /* orientation=rt */
- margin: 0px 5px;
}
-.UINavigationPortlet .HighlightScrollRightButton {
- cursor: pointer;
+.UINavigationPortlet .ScrollRightButton:hover {
background: url('DefaultSkin/background/Button.gif') no-repeat right top; /* orientation=lt */
background: url('DefaultSkin/background/Button-rt.gif') no-repeat left top; /* orientation=rt */
- width: 10px;
- height: 15px;
}
/***********GroupNavigation*************/
-.UINavigationPortlet .GroupNavigation .LeftNavigationBar {
- background: url('DefaultSkin/background/NavGroup.gif') no-repeat left top;
-}
-.UINavigationPortlet .GroupNavigation .RightNavigationBar {
- background: url('DefaultSkin/background/NavGroup.gif') no-repeat right top;
+.UINavigationPortlet .GroupNavigation {
+ background-color:#ffa200;
}
-.UINavigationPortlet .GroupNavigation .MiddleNavigationBar {
- background: url('DefaultSkin/background/NavGroup.gif') repeat-x center bottom;
-}
-
-.UINavigationPortlet .GroupNavigation .UITab .NormalNavigationTab .MiddleTab .DropDownArrowIcon {
- border-right: 1px solid #ffa200;
-}
-
-.UINavigationPortlet .GroupNavigation .UITab .HighlightNavigationTab .LeftTab {
- background: url('DefaultSkin/background/NavigationTab.gif') no-repeat left -152px;
-}
-
-.UINavigationPortlet .GroupNavigation .UITab .HighlightNavigationTab .RightTab {
- background: url('DefaultSkin/background/NavigationTab.gif') no-repeat right -174px;
-}
-
-.UINavigationPortlet .GroupNavigation .UITab .HighlightNavigationTab .MiddleTab {
- background: #ffcf01;
-}
-
-.UINavigationPortlet .GroupNavigation .UITab .HighlightNavigationTab .MiddleTab .DropDownArrowIcon {
- border-right: 1px solid #ffcf01;
-}
-
-.UINavigationPortlet .GroupNavigation .UITab .SelectedNavigationTab .LeftTab {
- background: #ffa200 url('DefaultSkin/background/NavigationTab.gif') no-repeat left -28px;
-}
-
-.UINavigationPortlet .GroupNavigation .UITab .SelectedNavigationTab .RightTab {
- background: #ffa200 url('DefaultSkin/background/NavigationTab.gif') no-repeat right -55px;
-}
-
-.UINavigationPortlet .GroupNavigation .UITab .SelectedNavigationTab .MiddleTab {
- background: #ffa200 url('DefaultSkin/background/NavigationTab.gif') repeat-x;
-}
-
-.UINavigationPortlet .GroupNavigation .UITab .SelectedNavigationTab .MiddleTab .DropDownArrowIcon {
- border-right: 1px solid white;
-}
\ No newline at end of file
+.UINavigationPortlet .GroupNavigation .HighlightNavigationTab > span {
+ background-color:#ffcf01;
+}
Modified: portal/branches/dom/web/eXoResources/src/main/webapp/javascript/eXo/portal/UIPortalControl.js
===================================================================
--- portal/branches/dom/web/eXoResources/src/main/webapp/javascript/eXo/portal/UIPortalControl.js 2011-09-05 08:21:16 UTC (rev 7297)
+++ portal/branches/dom/web/eXoResources/src/main/webapp/javascript/eXo/portal/UIPortalControl.js 2011-09-05 10:59:49 UTC (rev 7298)
@@ -183,7 +183,7 @@
ScrollManager.prototype.loadElements = function(elementClass, clean) {
if (clean) this.cleanElements();
this.elements.clear();
- this.elements.pushAll(eXo.core.DOMUtil.findDescendantsByClass(this.mainContainer, "div", elementClass));
+ this.elements.pushAll(eXo.core.DOMUtil.findDescendantsByClass(this.mainContainer, "li", elementClass));
};
/**
* Calculates the available space for the elements, and inits the elements array like this :
Modified: portal/branches/dom/web/eXoResources/src/main/webapp/javascript/eXo/portal/UIPortalNavigation.js
===================================================================
--- portal/branches/dom/web/eXoResources/src/main/webapp/javascript/eXo/portal/UIPortalNavigation.js 2011-09-05 08:21:16 UTC (rev 7297)
+++ portal/branches/dom/web/eXoResources/src/main/webapp/javascript/eXo/portal/UIPortalNavigation.js 2011-09-05 10:59:49 UTC (rev 7298)
@@ -50,7 +50,7 @@
var uiWorkingWorkspace = document.getElementById("UIWorkingWorkspace");
var uiNavPortlets = eXo.core.DOMUtil.findDescendantsByClass(uiWorkingWorkspace, "div", "UINavigationPortlet");
if (uiNavPortlets.length) {
- var mainContainer = eXo.core.DOMUtil.findFirstDescendantByClass(uiNavPortlets[0], "div", "TabsContainer");
+ var mainContainer = eXo.core.DOMUtil.findFirstDescendantByClass(uiNavPortlets[0], "ul", "UINavigationBar");
eXo.portal.UIPortalNavigation.init(uiNavPortlets[0], mainContainer, 0, 0);
for (var i = 1; i < uiNavPortlets.length; ++i) {
uiNavPortlets[i].style.display = "none";
@@ -71,10 +71,10 @@
*/
UIPortalNavigation.prototype.buildMenu = function(popupMenu) {
var DOMUtil = eXo.core.DOMUtil;
- var topContainer = DOMUtil.findFirstDescendantByClass(popupMenu, "div", "TabsContainer");
+ var topContainer = DOMUtil.findFirstDescendantByClass(popupMenu, "ul", "UINavigationBar");
topContainer.id = "PortalNavigationTopContainer";
// Top menu items
- var topItems = DOMUtil.findDescendantsByClass(topContainer, "div", "UITab");
+ var topItems = DOMUtil.findDescendantsByClass(topContainer, "li", "UITab");
for (var i = 0; i < topItems.length; i++) {
var item = topItems[i];
item.onmouseover = eXo.portal.UIPortalNavigation.setTabStyleOnMouseOver ;
@@ -88,7 +88,7 @@
/**
* TODO: fix IE7;
*/
- var container = DOMUtil.findFirstDescendantByClass(item, "div", this.containerStyleClass);
+ var container = DOMUtil.findFirstDescendantByClass(item, "ul", this.containerStyleClass);
if (container) {
if (eXo.core.Browser.isIE6()) {
container.style.width = item.offsetWidth + "px";
@@ -97,20 +97,19 @@
}
}
- var itemConts = DOMUtil.findDescendantsByClass(topContainer, "div", this.containerStyleClass);
+ var itemConts = DOMUtil.findDescendantsByClass(topContainer, "ul", this.containerStyleClass);
for (var i = 0; i < itemConts.length; i++) {
var cont = itemConts[i];
if(!cont.id) cont.id = DOMUtil.generateId("PortalNavigationContainer");
cont.resized = false;
- var items = DOMUtil.findDescendantsByClass(cont, "div", this.tabStyleClass);
+ var items = DOMUtil.findDescendantsByClass(cont, "li", this.tabStyleClass);
if(items.length == 0) cont.parentNode.removeChild(cont);
for(var j = 0; j < items.length; j ++) {
items[j].onmouseover = eXo.portal.UIPortalNavigation.onMenuItemOver;
items[j].onmouseout = eXo.portal.UIPortalNavigation.onMenuItemOut;
}
}
-
};
/**
* Sets the tab style on mouse over and mouse out
@@ -132,31 +131,25 @@
//}
UIPortalNavigation.prototype.generateContainer = function(data) {
- var htmlFrags = "<div class='" + this.containerStyleClass + "' style='display: none;' id='";
+ var htmlFrags = "<ul class='" + this.containerStyleClass + "' style='display: none;' id='";
htmlFrags += eXo.core.DOMUtil.generateId("PortalNavigationContainer") + "' resized='false'>";
- htmlFrags += "<div class='MenuItemDecorator'>";
- htmlFrags += "<div class='LeftTopMenuDecorator'><div class='RightTopMenuDecorator'>";
- htmlFrags += "<div class='CenterTopMenuDecorator'><span></span></div></div></div>";
- htmlFrags += "<div class='LeftMiddleMenuDecorator'><div class='RightMiddleMenuDecorator'>";
- htmlFrags += "<div class='CenterMiddleMenuDecorator'>";
+
for (var i = 0; i < data.length; i++) {
var node = data[i];
var actionLink = node.actionLink ? node.actionLink : "javascript:void(0);";
- htmlFrags += ("<div class='MenuItem " + (node.isSelected ? "SelectedItem'" : "NormalItem'"));
+ htmlFrags += ("<li class='MenuItem " + (node.hasChild ? "ArrowIcon " : "") + (node.isSelected ? "SelectedItem'" : "NormalItem'"));
htmlFrags += (node.hasChild ? (" exo:getNodeURL='" + node.getNodeURL + "' ") : "" );
- htmlFrags += ("onmouseover='eXo.portal.UIPortalNavigation.onMenuItemOver(this)' onmouseout='eXo.portal.UIPortalNavigation.onMenuItemOut(this)'>");
- htmlFrags += ("<div class='" + (node.hasChild ? "ArrowIcon" : "") + "' title='" + node.label + "'>");
- htmlFrags += ("<div class='ItemIcon " + (node.icon ? node.icon : "DefaultPageIcon") + "'>");
- htmlFrags += ("<a href='" + actionLink + "'>" + (node.label.length > 40 ? node.label.substring(0,37) + "..." : node.label) + "</a>");
- htmlFrags += ("</div></div>");
+ htmlFrags += ("onmouseover='eXo.portal.UIPortalNavigation.onMenuItemOver(this)' onmouseout='eXo.portal.UIPortalNavigation.onMenuItemOut(this)'");
+ htmlFrags += ("' title='" + node.label + "'>");
+ htmlFrags += ("<a class='ItemIcon " + (node.icon ? node.icon : "DefaultPageIcon") + "'" +
+ "href='" + actionLink + "'>" + (node.label.length > 40 ? node.label.substring(0,37) + "..." : node.label) + "</a>");
if (node.childs.length) {
htmlFrags += eXo.portal.UIPortalNavigation.generateContainer(node.childs);
}
- htmlFrags += "</div>";
+ htmlFrags += "</li>";
}
- htmlFrags += "</div></div></div><div class='LeftBottomMenuDecorator'><div class='RightBottomMenuDecorator'>";
- htmlFrags += "<div class='CenterBottomMenuDecorator'><span></span></div></div></div></div></div>";
+ htmlFrags += "</ul>";
return htmlFrags;
};
@@ -169,7 +162,7 @@
eXo.portal.UIPortalNavigation.previousMenuItem = tab ;
var getNodeURL = tab.getAttribute("exo:getNodeURL");
- var menuItemContainer = eXo.core.DOMUtil.findFirstDescendantByClass(tab, "div", eXo.portal.UIPortalNavigation.containerStyleClass);
+ var menuItemContainer = eXo.core.DOMUtil.findFirstDescendantByClass(tab, "ul", eXo.portal.UIPortalNavigation.containerStyleClass);
if (getNodeURL && !menuItemContainer) {
var jsChilds = ajaxAsyncGetRequest(getNodeURL,false)
try {
@@ -181,12 +174,12 @@
}
var temp = document.createElement("div");
temp.innerHTML = eXo.portal.UIPortalNavigation.generateContainer(data);
- tab.appendChild(eXo.core.DOMUtil.findFirstChildByClass(temp, "div", eXo.portal.UIPortalNavigation.containerStyleClass));
+ tab.appendChild(eXo.core.DOMUtil.findFirstChildByClass(temp, "ul", eXo.portal.UIPortalNavigation.containerStyleClass));
}
if (!eXo.portal.UIPortalNavigation.menuVisible) {
var hideSubmenu = tab.getAttribute('hideSubmenu') ;
- menuItemContainer = eXo.core.DOMUtil.findFirstDescendantByClass(tab, "div", eXo.portal.UIPortalNavigation.containerStyleClass);
+ menuItemContainer = eXo.core.DOMUtil.findFirstDescendantByClass(tab, "ul", eXo.portal.UIPortalNavigation.containerStyleClass);
if (menuItemContainer && !hideSubmenu) {
var DOMUtil = eXo.core.DOMUtil ;
if(eXo.core.Browser.browserType == "ie") {
@@ -197,7 +190,7 @@
for(var i = 0; i < uicomponents.length; i ++) {
var navPortlet = DOMUtil.findFirstDescendantByClass(uicomponents[i], "div", "UINavigationPortlet") ;
if(navPortlet && (navAncestor != navPortlet)) {
- var tabsContainer = DOMUtil.findFirstDescendantByClass(navPortlet, "div", "TabsContainer");
+ var tabsContainer = DOMUtil.findFirstDescendantByClass(navPortlet, "ul", "UINavigationBar");
tabsContainer.style.position = "static" ;
}
}
@@ -213,15 +206,11 @@
UIPortalNavigation.prototype.setTabStyleOnMouseOut = function(e, src) {
var tab = src || this;
- var tabChildren = eXo.core.DOMUtil.getChildrenByTagName(tab, "div") ;
- if (tabChildren.length <= 0) {
- return ;
- }
- if (tabChildren[0].className != "HighlightNavigationTab") {
+ if (!eXo.core.DOMUtil.hasClass(tab, "HighlightNavigationTab")) {
// highlights the tab
eXo.webui.UIHorizontalTabs.changeTabNavigationStyle(tab, true);
} else {
- if(tabChildren.length <= 1 || tabChildren[1].id != eXo.portal.UIPortalNavigation.currentOpenedMenu) {
+ if(tab.id != eXo.portal.UIPortalNavigation.currentOpenedMenu) {
// de-highlights the tab if it doesn't have a submenu (cond 1) or its submenu isn't visible (cond 2)
eXo.webui.UIHorizontalTabs.changeTabNavigationStyle(tab, false);
}
@@ -357,7 +346,7 @@
for(var i = 0; i < uicomponents.length; i ++) {
var navPortlet = DOMUtil.findFirstDescendantByClass(uicomponents[i], "div", "UINavigationPortlet") ;
if(navPortlet) {
- var tabsContainer = DOMUtil.findFirstDescendantByClass(navPortlet, "div", "TabsContainer");
+ var tabsContainer = DOMUtil.findFirstDescendantByClass(navPortlet, "ul", "UINavigationBar");
tabsContainer.style.position = "relative" ;
}
}
@@ -373,7 +362,7 @@
var DOMUtil = eXo.core.DOMUtil;
var getNodeURL = menuItem.getAttribute("exo:getNodeURL");
- var subContainer = DOMUtil.findFirstDescendantByClass(menuItem, "div", eXo.portal.UIPortalNavigation.containerStyleClass);
+ var subContainer = DOMUtil.findFirstDescendantByClass(menuItem, "ul", eXo.portal.UIPortalNavigation.containerStyleClass);
if (getNodeURL && !subContainer) {
var jsChilds = ajaxAsyncGetRequest(getNodeURL,false)
try {
@@ -381,17 +370,16 @@
} catch (e) {
}
if (!data || !data.length) {
- var arrow = DOMUtil.findFirstChildByClass(menuItem, "div", "ArrowIcon");
- DOMUtil.removeClass(arrow, "ArrowIcon");
+ DOMUtil.removeClass(menuItem, "ArrowIcon");
menuItem.removeAttribute("exo:getNodeURL");
return;
}
var temp = document.createElement("div");
temp.innerHTML = eXo.portal.UIPortalNavigation.generateContainer(data);
- menuItem.appendChild(eXo.core.DOMUtil.findFirstChildByClass(temp, "div", eXo.portal.UIPortalNavigation.containerStyleClass));
+ menuItem.appendChild(eXo.core.DOMUtil.findFirstChildByClass(temp, "ul", eXo.portal.UIPortalNavigation.containerStyleClass));
}
- subContainer = DOMUtil.findFirstDescendantByClass(menuItem, "div", eXo.portal.UIPortalNavigation.containerStyleClass);
+ subContainer = DOMUtil.findFirstDescendantByClass(menuItem, "ul", eXo.portal.UIPortalNavigation.containerStyleClass);
if (subContainer) {
eXo.portal.UIPortalNavigation.superClass.pushVisibleContainer(subContainer.id);
eXo.portal.UIPortalNavigation.showMenuItemContainer(menuItem, subContainer) ;
@@ -422,7 +410,7 @@
UIPortalNavigation.prototype.onMenuItemOut = function(menuItem) {
if (!menuItem || !menuItem.nodeName) menuItem = this;
- var subContainer = eXo.core.DOMUtil.findFirstDescendantByClass(menuItem, "div", eXo.portal.UIPortalNavigation.containerStyleClass);
+ var subContainer = eXo.core.DOMUtil.findFirstDescendantByClass(menuItem, "ul", eXo.portal.UIPortalNavigation.containerStyleClass);
if (subContainer) {
eXo.portal.UIPortalNavigation.superClass.pushHiddenContainer(subContainer.id);
eXo.portal.UIPortalNavigation.superClass.popVisibleContainer();
@@ -446,12 +434,11 @@
uiNav.scrollMgr = eXo.portal.UIPortalControl.newScrollManager("PortalNavigationTopContainer");
uiNav.scrollMgr.initFunction = uiNav.initScroll;
// Adds the tab elements to the manager
- var tabs = eXo.core.DOMUtil.findAncestorByClass(portalNav, "UIHorizontalTabs");
- uiNav.scrollMgr.mainContainer = tabs;
- uiNav.scrollMgr.arrowsContainer = eXo.core.DOMUtil.findFirstDescendantByClass(tabs, "div", "ScrollButtons");
+ uiNav.scrollMgr.mainContainer = portalNav;
+ uiNav.scrollMgr.arrowsContainer = eXo.core.DOMUtil.findFirstDescendantByClass(portalNav, "li", "ScrollButtons");
uiNav.scrollMgr.loadElements("UITab");
// Configures the arrow buttons
- var arrowButtons = eXo.core.DOMUtil.findDescendantsByTagName(uiNav.scrollMgr.arrowsContainer, "div");
+ var arrowButtons = eXo.core.DOMUtil.findDescendantsByTagName(uiNav.scrollMgr.arrowsContainer, "a");
if (arrowButtons.length == 2) {
uiNav.scrollMgr.initArrowButton(arrowButtons[0], "left", "ScrollLeftButton", "HighlightScrollLeftButton", "DisableScrollLeftButton");
uiNav.scrollMgr.initArrowButton(arrowButtons[1], "right", "ScrollRightButton", "HighlightScrollRightButton", "DisableScrollRightButton");
Modified: portal/branches/dom/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIHorizontalTabs.js
===================================================================
--- portal/branches/dom/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIHorizontalTabs.js 2011-09-05 08:21:16 UTC (rev 7297)
+++ portal/branches/dom/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIHorizontalTabs.js 2011-09-05 10:59:49 UTC (rev 7298)
@@ -38,12 +38,11 @@
if (clickedEle == null) return;
if (!eXo.core.DOMUtil.hasClass(clickedEle, "UITab")) clickedEle = eXo.core.DOMUtil.findAncestorByClass(clickedEle, "UITab") ;
- var tabStyle = eXo.core.DOMUtil.getChildrenByTagName(clickedEle, "div")[0] ;
if(over) {
- this.backupNavigationTabStyle = tabStyle.className ;
- tabStyle.className = "HighlightNavigationTab" ;
+ this.backupNavigationTabStyle = clickedEle.className ;
+ clickedEle.className = "UITab HighlightNavigationTab" ;
} else if (this.backupNavigationTabStyle){
- tabStyle.className = this.backupNavigationTabStyle ;
+ clickedEle.className = this.backupNavigationTabStyle ;
}
}
/**
13 years, 3 months
gatein SVN: r7297 - epp/portal/branches.
by do-not-reply@jboss.org
Author: tkobayas(a)redhat.com
Date: 2011-09-05 04:21:16 -0400 (Mon, 05 Sep 2011)
New Revision: 7297
Added:
epp/portal/branches/EPP_5_1_0_GA_JBEPP-1114/
Log:
JBEPP-1114 DateTimeValidator has superflous code that breaks localized date timestamps
13 years, 3 months
gatein SVN: r7296 - in portal/trunk/component/identity/src: test/java/org/exoplatform/services/organization and 1 other directory.
by do-not-reply@jboss.org
Author: kien_nguyen
Date: 2011-09-05 02:56:49 -0400 (Mon, 05 Sep 2011)
New Revision: 7296
Modified:
portal/trunk/component/identity/src/main/java/org/exoplatform/services/organization/idm/UserDAOImpl.java
portal/trunk/component/identity/src/test/java/org/exoplatform/services/organization/TestOrganizationService.java
Log:
GTNPORTAL-2036 Cant search username and email in user and group management
Modified: portal/trunk/component/identity/src/main/java/org/exoplatform/services/organization/idm/UserDAOImpl.java
===================================================================
--- portal/trunk/component/identity/src/main/java/org/exoplatform/services/organization/idm/UserDAOImpl.java 2011-09-02 22:12:24 UTC (rev 7295)
+++ portal/trunk/component/identity/src/main/java/org/exoplatform/services/organization/idm/UserDAOImpl.java 2011-09-05 06:56:49 UTC (rev 7296)
@@ -440,21 +440,6 @@
}
}, 1);
}
- else
- {
- return new LazyPageList<User>( new ListAccess<User>()
- {
- public User[] load(int index, int length) throws Exception, IllegalArgumentException
- {
- return new User[0];
- }
-
- public int getSize() throws Exception
- {
- return 0;
- }
- }, 1);
- }
}
Modified: portal/trunk/component/identity/src/test/java/org/exoplatform/services/organization/TestOrganizationService.java
===================================================================
--- portal/trunk/component/identity/src/test/java/org/exoplatform/services/organization/TestOrganizationService.java 2011-09-02 22:12:24 UTC (rev 7295)
+++ portal/trunk/component/identity/src/test/java/org/exoplatform/services/organization/TestOrganizationService.java 2011-09-05 06:56:49 UTC (rev 7296)
@@ -249,7 +249,55 @@
}
}
- //
+ public void testFindUsers() throws Exception
+ {
+ if (userHandler_ instanceof UserDAOImpl)
+ {
+ UserDAOImpl ud = (UserDAOImpl)userHandler_;
+ User user1 = ud.createUserInstance("foo");
+ user1.setFirstName("foo");
+ user1.setLastName("bar");
+ user1.setEmail("foo(a)bar.com");
+ ud.createUser(user1, true);
+
+ User user2 = ud.createUserInstance("foobar");
+ user2.setFirstName("foobar");
+ user2.setLastName("foobar");
+ user2.setEmail("foobar(a)foobar.com");
+ ud.createUser(user2, true);
+
+ Query query = new Query();
+ List<User> users = ud.findUsers(query).getAll();
+ assertEquals(3, users.size());
+ assertEquals("demo", users.get(0).getUserName());
+ assertEquals("foo", users.get(1).getUserName());
+ assertEquals("foobar", users.get(2).getUserName());
+
+ query.setEmail("*foo*");
+ users = ud.findUsers(query).getAll();
+ assertEquals(2, users.size());
+ assertEquals("foo", users.get(0).getUserName());
+ assertEquals("foobar", users.get(1).getUserName());
+
+ query.setEmail("*bar*");
+ users = ud.findUsers(query).getAll();
+ assertEquals(2, users.size());
+ assertEquals("foo", users.get(0).getUserName());
+ assertEquals("foobar", users.get(1).getUserName());
+
+ query.setEmail("*bar.com*");
+ users = ud.findUsers(query).getAll();
+ assertEquals(2, users.size());
+ assertEquals("foo", users.get(0).getUserName());
+ assertEquals("foobar", users.get(1).getUserName());
+
+ query.setEmail("*foobar*");
+ users = ud.findUsers(query).getAll();
+ assertEquals(1, users.size());
+ assertEquals("foobar", users.get(0).getUserName());
+ }
+ }
+ //
public void testGroup() throws Exception
{
/* Create a parent group with name is: GroupParent */
13 years, 3 months
gatein SVN: r7295 - in components/wsrp/branches/clustering: consumer/src/main/java/org/gatein/wsrp/consumer/registry and 4 other directories.
by do-not-reply@jboss.org
Author: chris.laprun(a)jboss.com
Date: 2011-09-02 18:12:24 -0400 (Fri, 02 Sep 2011)
New Revision: 7295
Added:
components/wsrp/branches/clustering/consumer/src/main/java/org/gatein/wsrp/consumer/registry/ConsumerCache.java
Modified:
components/wsrp/branches/clustering/admin-gui/src/main/java/org/gatein/wsrp/admin/ui/ConsumerManagerBean.java
components/wsrp/branches/clustering/consumer/src/main/java/org/gatein/wsrp/consumer/registry/AbstractConsumerRegistry.java
components/wsrp/branches/clustering/consumer/src/main/java/org/gatein/wsrp/consumer/registry/ConsumerRegistry.java
components/wsrp/branches/clustering/consumer/src/test/java/org/gatein/wsrp/consumer/registry/ConsumerRegistryTestCase.java
components/wsrp/branches/clustering/consumer/src/test/java/org/gatein/wsrp/test/support/MockConsumerRegistry.java
components/wsrp/branches/clustering/jcr-impl/src/main/java/org/gatein/wsrp/consumer/registry/JCRConsumerRegistry.java
components/wsrp/branches/clustering/jcr-impl/src/test/java/org/gatein/wsrp/consumer/registry/JCRConsumerRegistryTestCase.java
Log:
- Added ConsumerCache interface to allow for local caching of consumers to avoid having to go to the persistence layer all the time. Default implementation is in-memory, it'll be possible to create distributed versions.
- Added ConsumerRegistry.getConfiguredConsumerNumber() method to improve performance.
- Fixed JCR test issues by removing the nodes that were created in tearDown so that tests can start with a fresh state.
Modified: components/wsrp/branches/clustering/admin-gui/src/main/java/org/gatein/wsrp/admin/ui/ConsumerManagerBean.java
===================================================================
--- components/wsrp/branches/clustering/admin-gui/src/main/java/org/gatein/wsrp/admin/ui/ConsumerManagerBean.java 2011-09-02 14:38:36 UTC (rev 7294)
+++ components/wsrp/branches/clustering/admin-gui/src/main/java/org/gatein/wsrp/admin/ui/ConsumerManagerBean.java 2011-09-02 22:12:24 UTC (rev 7295)
@@ -93,7 +93,7 @@
public boolean isConsumersEmpty()
{
- return getRegistry().getConfiguredConsumers().isEmpty();
+ return getRegistry().getConfiguredConsumerNumber() == 0;
}
public List<WSRPConsumer> getConsumers()
Modified: components/wsrp/branches/clustering/consumer/src/main/java/org/gatein/wsrp/consumer/registry/AbstractConsumerRegistry.java
===================================================================
--- components/wsrp/branches/clustering/consumer/src/main/java/org/gatein/wsrp/consumer/registry/AbstractConsumerRegistry.java 2011-09-02 14:38:36 UTC (rev 7294)
+++ components/wsrp/branches/clustering/consumer/src/main/java/org/gatein/wsrp/consumer/registry/AbstractConsumerRegistry.java 2011-09-02 22:12:24 UTC (rev 7295)
@@ -40,8 +40,10 @@
import java.util.AbstractCollection;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
+import java.util.Map;
/**
* @author <a href="mailto:chris.laprun@jboss.com">Chris Laprun</a>
@@ -61,6 +63,13 @@
private static final Logger log = LoggerFactory.getLogger(AbstractConsumerRegistry.class);
+ private ConsumerCache consumers = new InMemoryConsumerCache();
+
+ public void setConsumerCache(ConsumerCache consumers)
+ {
+ this.consumers = consumers;
+ }
+
public FederatingPortletInvoker getFederatingPortletInvoker()
{
return federatingPortletInvoker;
@@ -127,7 +136,11 @@
}
deactivateConsumer(consumer);
+
delete(info);
+
+ // remove from cache
+ consumers.removeConsumer(id);
}
else
{
@@ -158,7 +171,12 @@
// make sure we set the registry after loading from DB since registry is not persisted.
producerInfo.setRegistry(this);
- return new WSRPConsumerImpl(producerInfo, migrationService);
+ final WSRPConsumerImpl consumer = new WSRPConsumerImpl(producerInfo, migrationService);
+
+ // cache consumer
+ consumers.putConsumer(producerInfo.getId(), consumer);
+
+ return consumer;
}
public void activateConsumerWith(String id) throws ConsumerException
@@ -213,6 +231,10 @@
federatingPortletInvoker.unregisterInvoker(oldId);
federatingPortletInvoker.registerInvoker(producerInfo.getId(), consumer);
}
+
+ // update cache
+ consumers.removeConsumer(oldId);
+ consumers.putConsumer(producerInfo.getId(), consumer);
}
return oldId;
@@ -225,6 +247,8 @@
public void reloadConsumers()
{
+ consumers.clear();
+
Iterator<ProducerInfo> producerInfos = getProducerInfosFromStorage();
// load the configured producers
@@ -270,15 +294,25 @@
{
ParameterValidation.throwIllegalArgExceptionIfNullOrEmpty(id, "consumer id", null);
- ProducerInfo info = loadProducerInfo(id);
- if (info != null)
+ // try cache first
+ WSRPConsumer consumer = consumers.getConsumer(id);
+ if (consumer != null)
{
- return createConsumerFrom(info);
+ return consumer;
}
else
{
- return null;
+ ProducerInfo info = loadProducerInfo(id);
+ if (info != null)
+ {
+ return createConsumerFrom(info);
+ }
+ else
+ {
+ return null;
+ }
}
+
}
public boolean containsConsumer(String id)
@@ -324,6 +358,11 @@
};
}
+ public int getConfiguredConsumerNumber()
+ {
+ return getConfiguredConsumersIds().size();
+ }
+
public void registerOrDeregisterConsumerWith(String id, boolean register)
{
ParameterValidation.throwIllegalArgExceptionIfNullOrEmpty(id, "Consumer identifier", "Registering or deregistering a Consumer");
@@ -423,15 +462,12 @@
protected List<WSRPConsumer> getConsumers(boolean startConsumers)
{
- Iterator<ProducerInfo> infos = getProducerInfosFromStorage();
- List<WSRPConsumer> consumers = new ArrayList<WSRPConsumer>();
- while (infos.hasNext())
+ final Collection<WSRPConsumer> consumerz = consumers.getConsumers();
+ for (WSRPConsumer consumer : consumerz)
{
- ProducerInfo info = infos.next();
- WSRPConsumer consumer = createConsumerFrom(info);
- consumers.add(consumer);
if (startConsumers)
{
+ final ProducerInfo info = consumer.getProducerInfo();
if (info.isActive() && !consumer.isActive())
{
try
@@ -447,7 +483,7 @@
}
}
- return consumers;
+ return new ArrayList<WSRPConsumer>(consumerz);
}
protected class ProducerInfoIterator implements Iterator<ProducerInfo>
@@ -474,4 +510,34 @@
throw new UnsupportedOperationException("remove not supported on this iterator implementation");
}
}
+
+ protected class InMemoryConsumerCache implements ConsumerCache
+ {
+ private Map<String, WSRPConsumer> consumers = new HashMap<String, WSRPConsumer>(11);
+
+ public Collection<WSRPConsumer> getConsumers()
+ {
+ return consumers.values();
+ }
+
+ public WSRPConsumer getConsumer(String id)
+ {
+ return consumers.get(id);
+ }
+
+ public WSRPConsumer removeConsumer(String id)
+ {
+ return consumers.remove(id);
+ }
+
+ public void putConsumer(String id, WSRPConsumer consumer)
+ {
+ consumers.put(id, consumer);
+ }
+
+ public void clear()
+ {
+ consumers.clear();
+ }
+ }
}
Added: components/wsrp/branches/clustering/consumer/src/main/java/org/gatein/wsrp/consumer/registry/ConsumerCache.java
===================================================================
--- components/wsrp/branches/clustering/consumer/src/main/java/org/gatein/wsrp/consumer/registry/ConsumerCache.java (rev 0)
+++ components/wsrp/branches/clustering/consumer/src/main/java/org/gatein/wsrp/consumer/registry/ConsumerCache.java 2011-09-02 22:12:24 UTC (rev 7295)
@@ -0,0 +1,42 @@
+/*
+ * JBoss, a division of Red Hat
+ * Copyright 2011, Red Hat Middleware, LLC, and individual
+ * contributors as indicated by the @authors tag. See the
+ * copyright.txt in the distribution for a full listing of
+ * individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.gatein.wsrp.consumer.registry;
+
+import org.gatein.wsrp.WSRPConsumer;
+
+import java.util.Collection;
+
+/** @author <a href="mailto:chris.laprun@jboss.com">Chris Laprun</a> */
+public interface ConsumerCache
+{
+ Collection<WSRPConsumer> getConsumers();
+
+ WSRPConsumer getConsumer(String id);
+
+ WSRPConsumer removeConsumer(String id);
+
+ void putConsumer(String id, WSRPConsumer consumer);
+
+ void clear();
+}
Modified: components/wsrp/branches/clustering/consumer/src/main/java/org/gatein/wsrp/consumer/registry/ConsumerRegistry.java
===================================================================
--- components/wsrp/branches/clustering/consumer/src/main/java/org/gatein/wsrp/consumer/registry/ConsumerRegistry.java 2011-09-02 14:38:36 UTC (rev 7294)
+++ components/wsrp/branches/clustering/consumer/src/main/java/org/gatein/wsrp/consumer/registry/ConsumerRegistry.java 2011-09-02 22:12:24 UTC (rev 7295)
@@ -90,4 +90,6 @@
boolean containsConsumer(String id);
Collection<String> getConfiguredConsumersIds();
+
+ int getConfiguredConsumerNumber();
}
Modified: components/wsrp/branches/clustering/consumer/src/test/java/org/gatein/wsrp/consumer/registry/ConsumerRegistryTestCase.java
===================================================================
--- components/wsrp/branches/clustering/consumer/src/test/java/org/gatein/wsrp/consumer/registry/ConsumerRegistryTestCase.java 2011-09-02 14:38:36 UTC (rev 7294)
+++ components/wsrp/branches/clustering/consumer/src/test/java/org/gatein/wsrp/consumer/registry/ConsumerRegistryTestCase.java 2011-09-02 22:12:24 UTC (rev 7295)
@@ -89,6 +89,8 @@
assertNotNull(ids);
assertEquals(1, ids.size());
assertTrue(ids.contains(id));
+
+ assertEquals(1, registry.getConfiguredConsumerNumber());
}
public void testGetConsumer()
@@ -119,11 +121,13 @@
WSRPConsumer consumer = registry.createConsumer(id, null, null);
assertEquals(consumer, registry.getConsumer(id));
assertTrue(registry.containsConsumer(id));
+ assertEquals(1, registry.getConfiguredConsumerNumber());
registry.destroyConsumer(id);
assertFalse(registry.containsConsumer(id));
assertNull(registry.getConsumer(id));
+ assertEquals(0, registry.getConfiguredConsumerNumber());
}
public void testUpdateProducerInfo()
@@ -143,6 +147,7 @@
assertEquals(info, consumer.getProducerInfo());
assertEquals(consumer, registry.getConsumer("bar"));
assertTrue(registry.containsConsumer("bar"));
+ assertEquals(1, registry.getConfiguredConsumerNumber());
}
public void testStoppingShouldntStartConsumers() throws Exception
Modified: components/wsrp/branches/clustering/consumer/src/test/java/org/gatein/wsrp/test/support/MockConsumerRegistry.java
===================================================================
--- components/wsrp/branches/clustering/consumer/src/test/java/org/gatein/wsrp/test/support/MockConsumerRegistry.java 2011-09-02 14:38:36 UTC (rev 7294)
+++ components/wsrp/branches/clustering/consumer/src/test/java/org/gatein/wsrp/test/support/MockConsumerRegistry.java 2011-09-02 22:12:24 UTC (rev 7295)
@@ -173,4 +173,9 @@
{
return consumers.keySet();
}
+
+ public int getConfiguredConsumerNumber()
+ {
+ return consumers.size();
+ }
}
Modified: components/wsrp/branches/clustering/jcr-impl/src/main/java/org/gatein/wsrp/consumer/registry/JCRConsumerRegistry.java
===================================================================
--- components/wsrp/branches/clustering/jcr-impl/src/main/java/org/gatein/wsrp/consumer/registry/JCRConsumerRegistry.java 2011-09-02 14:38:36 UTC (rev 7294)
+++ components/wsrp/branches/clustering/jcr-impl/src/main/java/org/gatein/wsrp/consumer/registry/JCRConsumerRegistry.java 2011-09-02 22:12:24 UTC (rev 7295)
@@ -61,7 +61,7 @@
private ChromatticPersister persister;
private boolean loadFromXMLIfNeeded;
private final String rootNodePath;
- private static final String PRODUCER_INFOS_PATH = ProducerInfosMapping.NODE_NAME;
+ static final String PRODUCER_INFOS_PATH = ProducerInfosMapping.NODE_NAME;
public static final List<Class> mappingClasses = new ArrayList<Class>(6);
private InputStream configurationIS;
@@ -244,12 +244,8 @@
ChromatticSession session = persister.getSession();
try
{
- final Session jcrSession = session.getJCRSession();
+ final RowIterator rows = getProducerInfoIds(session);
- final Query query = jcrSession.getWorkspace().getQueryManager().createQuery("select producerid from wsrp:producerinfo", Query.SQL);
- final QueryResult queryResult = query.execute();
- final RowIterator rows = queryResult.getRows();
-
final long size = rows.getSize();
if (size == 0)
{
@@ -279,6 +275,35 @@
}
}
+ private RowIterator getProducerInfoIds(ChromatticSession session) throws RepositoryException
+ {
+ final Session jcrSession = session.getJCRSession();
+
+ final Query query = jcrSession.getWorkspace().getQueryManager().createQuery("select producerid from wsrp:producerinfo", Query.SQL);
+ final QueryResult queryResult = query.execute();
+ return queryResult.getRows();
+ }
+
+ @Override
+ public int getConfiguredConsumerNumber()
+ {
+ ChromatticSession session = persister.getSession();
+ try
+ {
+ final RowIterator ids = getProducerInfoIds(session);
+
+ return (int)ids.getSize();
+ }
+ catch (RepositoryException e)
+ {
+ throw new RuntimeException(e);
+ }
+ finally
+ {
+ persister.closeSession(false);
+ }
+ }
+
private ProducerInfosMapping getProducerInfosMapping(ChromatticSession session)
{
ProducerInfosMapping producerInfosMapping = session.findByPath(ProducerInfosMapping.class, PRODUCER_INFOS_PATH);
@@ -343,6 +368,16 @@
return pim;
}
+ /**
+ * For tests
+ *
+ * @return
+ */
+ ChromatticPersister getPersister()
+ {
+ return persister;
+ }
+
private static class MappingToProducerInfoIterator implements Iterator<ProducerInfo>
{
private Iterator<ProducerInfoMapping> mappings;
Modified: components/wsrp/branches/clustering/jcr-impl/src/test/java/org/gatein/wsrp/consumer/registry/JCRConsumerRegistryTestCase.java
===================================================================
--- components/wsrp/branches/clustering/jcr-impl/src/test/java/org/gatein/wsrp/consumer/registry/JCRConsumerRegistryTestCase.java 2011-09-02 14:38:36 UTC (rev 7294)
+++ components/wsrp/branches/clustering/jcr-impl/src/test/java/org/gatein/wsrp/consumer/registry/JCRConsumerRegistryTestCase.java 2011-09-02 22:12:24 UTC (rev 7295)
@@ -26,7 +26,12 @@
import org.chromattic.api.ChromatticBuilder;
import org.gatein.pc.federation.impl.FederatingPortletInvokerService;
import org.gatein.wsrp.jcr.BaseChromatticPersister;
+import org.gatein.wsrp.jcr.ChromatticPersister;
+import javax.jcr.Node;
+import javax.jcr.NodeIterator;
+import javax.jcr.Session;
+
/**
* This is essentially the same class as org.gatein.wsrp.state.consumer.ConsumerRegistryTestCase in WSRP consumer
* module tests.
@@ -36,6 +41,9 @@
*/
public class JCRConsumerRegistryTestCase extends ConsumerRegistryTestCase
{
+
+ private String workspaceName;
+
/**
* Incremented for each test so that we can append it to the workspace name and work with a "clean" DB for each
* test.
@@ -45,7 +53,7 @@
protected void setUp() throws Exception
{
final long random = Math.round(Math.abs(100000 * Math.random()));
- String workspaceName = "/wsrp-jcr-test" + random;
+ workspaceName = "/wsrp-jcr-test" + random;
BaseChromatticPersister persister = new BaseChromatticPersister(workspaceName)
{
@Override
@@ -62,6 +70,23 @@
}
@Override
+ protected void tearDown() throws Exception
+ {
+ // remove node containing consumer informations so that we can start with a clean state
+ final ChromatticPersister persister = ((JCRConsumerRegistry)registry).getPersister();
+ final Session session = persister.getSession().getJCRSession();
+ final Node rootNode = session.getRootNode();
+ final NodeIterator nodes = rootNode.getNodes();
+ while (nodes.hasNext())
+ {
+ nodes.nextNode().remove();
+ }
+
+ // then save
+ persister.closeSession(true);
+ }
+
+ @Override
public void testStoppingShouldntStartConsumers() throws Exception
{
// override to bypass this test as I couldn't find a way to make it work properly (i.e. how to inject a Mock
13 years, 3 months