[jboss-svn-commits] JBoss Portal SVN: r5505 - in trunk/core/src: bin/portal-core-war/themes/industrial bin/portal-core-war/themes/maple bin/portal-core-war/themes/mission-critical bin/portal-core-war/themes/phalanx bin/portal-core-war/themes/renaissance main/org/jboss/portal/core/aspects/controller
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Oct 27 16:10:42 EDT 2006
Author: roy.russo at jboss.com
Date: 2006-10-27 16:10:36 -0400 (Fri, 27 Oct 2006)
New Revision: 5505
Modified:
trunk/core/src/bin/portal-core-war/themes/industrial/portal_style.css
trunk/core/src/bin/portal-core-war/themes/maple/portal_style.css
trunk/core/src/bin/portal-core-war/themes/mission-critical/portal_style.css
trunk/core/src/bin/portal-core-war/themes/phalanx/portal_style.css
trunk/core/src/bin/portal-core-war/themes/renaissance/portal_style.css
trunk/core/src/main/org/jboss/portal/core/aspects/controller/PageCustomizerInterceptor.java
Log:
JBPORTAL-1017 - CSS Submenus when tab onHover.
Modified: trunk/core/src/bin/portal-core-war/themes/industrial/portal_style.css
===================================================================
--- trunk/core/src/bin/portal-core-war/themes/industrial/portal_style.css 2006-10-26 18:37:55 UTC (rev 5504)
+++ trunk/core/src/bin/portal-core-war/themes/industrial/portal_style.css 2006-10-27 20:10:36 UTC (rev 5505)
@@ -236,6 +236,8 @@
margin: 0;
padding-left: 300px;
min-width: 550px;
+ z-index: 100; /* added for submenu hover */
+ position: relative; /* added for submenu hover */
}
UL#tabsHeader li {
@@ -288,6 +290,68 @@
background-repeat: repeat-x;
}
+/* Begin Submenu selectors */
+
+/* hide the sub levels and give them a positon absolute so that they take up no room */
+UL#tabsHeader ul {
+ visibility: hidden;
+ position: absolute;
+ height: 0;
+ top: 0px;
+ left: 0;
+ width: 150px;
+ text-align: left;
+ margin: 0px;
+ padding: 0px;
+ margin-top: 22px;
+}
+
+UL#tabsHeader ul a {
+ font: 11px;
+ font-family: Verdana, Arial, Helvetica, Sans-Serif, sans-serif;
+ font-weight: normal;
+ color: #5078aa;
+
+}
+
+UL#tabsHeader ul a:hover {
+ font: 11px;
+ font-family: Verdana, Arial, Helvetica, Sans-Serif, sans-serif;
+ font-weight: normal;
+ color: #5078aa;
+}
+
+UL#tabsHeader #current ul a {
+ font: 11px;
+ font-family: Verdana, Arial, Helvetica, Sans-Serif, sans-serif;
+ font-weight: normal;
+ color: #5078aa;
+}
+
+UL#tabsHeader li:hover ul {
+ visibility: visible;
+}
+
+UL#tabsHeader ul li {
+ background: #EDECEC;
+ color: #5078aa;
+ padding: 3px;
+ width: 120px;
+
+ border: 1px solid #FFFFFF;
+ border-width: 1px 1px 0 0;
+
+ margin-left: 0px;
+ margin-top: 0px;
+ margin-right: 0px;
+}
+
+UL#tabsHeader ul li:hover {
+ background: #E2E2E2;
+}
+
+/* End Submenu selectors */
+
/* used for sub navigation if applicable
UL#tabsHeader #currentSubNav, UL#tabsHeader #currentSubNav a {
color: #000;
Modified: trunk/core/src/bin/portal-core-war/themes/maple/portal_style.css
===================================================================
--- trunk/core/src/bin/portal-core-war/themes/maple/portal_style.css 2006-10-26 18:37:55 UTC (rev 5504)
+++ trunk/core/src/bin/portal-core-war/themes/maple/portal_style.css 2006-10-27 20:10:36 UTC (rev 5505)
@@ -235,6 +235,8 @@
margin: 0;
padding-left: 10px;
min-width: 550px;
+ z-index: 100; /* added for submenu hover */
+ position: relative; /* added for submenu hover */
}
UL#tabsHeader li {
@@ -297,6 +299,68 @@
background-repeat: no-repeat;
}
+/* Begin Submenu selectors */
+
+/* hide the sub levels and give them a positon absolute so that they take up no room */
+UL#tabsHeader ul {
+ visibility: hidden;
+ position: absolute;
+ height: 0;
+ top: 0px;
+ left: 0;
+ width: 150px;
+ text-align: left;
+ margin: 0px;
+ padding: 0px;
+ margin-top: 22px;
+}
+
+UL#tabsHeader ul a {
+ font: 11px;
+ font-family: Verdana, Arial, Helvetica, Sans-Serif, sans-serif;
+ font-weight: normal;
+ color: #5078aa;
+
+}
+
+UL#tabsHeader ul a:hover {
+ font: 11px;
+ font-family: Verdana, Arial, Helvetica, Sans-Serif, sans-serif;
+ font-weight: normal;
+ color: #5078aa;
+}
+
+UL#tabsHeader #current ul a {
+ font: 11px;
+ font-family: Verdana, Arial, Helvetica, Sans-Serif, sans-serif;
+ font-weight: normal;
+ color: #5078aa;
+}
+
+UL#tabsHeader li:hover ul {
+ visibility: visible;
+}
+
+UL#tabsHeader ul li {
+ background: #EDECEC;
+ color: #5078aa;
+ padding: 3px;
+ width: 120px;
+
+ border: 1px solid #FFFFFF;
+ border-width: 1px 1px 0 0;
+
+ margin-left: 0px;
+ margin-top: 0px;
+ margin-right: 0px;
+}
+
+UL#tabsHeader ul li:hover {
+ background: #E2E2E2;
+}
+
+/* End Submenu selectors */
+
/* Tab background color for selected global nav item */
li.currentTabBackground {
background: #fff;
Modified: trunk/core/src/bin/portal-core-war/themes/mission-critical/portal_style.css
===================================================================
--- trunk/core/src/bin/portal-core-war/themes/mission-critical/portal_style.css 2006-10-26 18:37:55 UTC (rev 5504)
+++ trunk/core/src/bin/portal-core-war/themes/mission-critical/portal_style.css 2006-10-27 20:10:36 UTC (rev 5505)
@@ -231,6 +231,8 @@
margin: 0;
padding-left: 440px;
min-width: 550px;
+ z-index: 100; /* added for submenu hover */
+ position: relative; /* added for submenu hover */
}
UL#tabsHeader li {
@@ -284,6 +286,68 @@
background-repeat: repeat-x;
}
+/* Begin Submenu selectors */
+
+/* hide the sub levels and give them a positon absolute so that they take up no room */
+UL#tabsHeader ul {
+ visibility: hidden;
+ position: absolute;
+ height: 0;
+ top: 0px;
+ left: 0;
+ width: 150px;
+ text-align: left;
+ margin: 0px;
+ padding: 0px;
+ margin-top: 22px;
+}
+
+UL#tabsHeader ul a {
+ font: 11px;
+ font-family: Verdana, Arial, Helvetica, Sans-Serif, sans-serif;
+ font-weight: normal;
+ color: #5078aa;
+
+}
+
+UL#tabsHeader ul a:hover {
+ font: 11px;
+ font-family: Verdana, Arial, Helvetica, Sans-Serif, sans-serif;
+ font-weight: normal;
+ color: #5078aa;
+}
+
+UL#tabsHeader #current ul a {
+ font: 11px;
+ font-family: Verdana, Arial, Helvetica, Sans-Serif, sans-serif;
+ font-weight: normal;
+ color: #5078aa;
+}
+
+UL#tabsHeader li:hover ul {
+ visibility: visible;
+}
+
+UL#tabsHeader ul li {
+ background: #EDECEC;
+ color: #5078aa;
+ padding: 3px;
+ width: 120px;
+
+ border: 1px solid #FFFFFF;
+ border-width: 1px 1px 0 0;
+
+ margin-left: 0px;
+ margin-top: 0px;
+ margin-right: 0px;
+}
+
+UL#tabsHeader ul li:hover {
+ background: #E2E2E2;
+}
+
+/* End Submenu selectors */
+
/* used for sub navigation if applicable
UL#tabsHeader #currentSubNav, UL#tabsHeader #currentSubNav a {
color: #000;
Modified: trunk/core/src/bin/portal-core-war/themes/phalanx/portal_style.css
===================================================================
--- trunk/core/src/bin/portal-core-war/themes/phalanx/portal_style.css 2006-10-26 18:37:55 UTC (rev 5504)
+++ trunk/core/src/bin/portal-core-war/themes/phalanx/portal_style.css 2006-10-27 20:10:36 UTC (rev 5505)
@@ -238,6 +238,8 @@
margin: 0;
padding-left: 300px;
min-width: 550px;
+ z-index: 100; /* added for submenu hover */
+ position: relative; /* added for submenu hover */
}
UL#tabsHeader li {
@@ -325,6 +327,68 @@
line-height: 26px;
}
+/* Begin Submenu selectors */
+
+/* hide the sub levels and give them a positon absolute so that they take up no room */
+UL#tabsHeader ul {
+ visibility: hidden;
+ position: absolute;
+ height: 0;
+ top: 0px;
+ left: 0;
+ width: 150px;
+ text-align: left;
+ margin: 0px;
+ padding: 0px;
+ margin-top: 22px;
+}
+
+UL#tabsHeader ul a {
+ font: 11px;
+ font-family: Verdana, Arial, Helvetica, Sans-Serif, sans-serif;
+ font-weight: normal;
+ color: #5078aa;
+
+}
+
+UL#tabsHeader ul a:hover {
+ font: 11px;
+ font-family: Verdana, Arial, Helvetica, Sans-Serif, sans-serif;
+ font-weight: normal;
+ color: #5078aa;
+}
+
+UL#tabsHeader #current ul a {
+ font: 11px;
+ font-family: Verdana, Arial, Helvetica, Sans-Serif, sans-serif;
+ font-weight: normal;
+ color: #5078aa;
+}
+
+UL#tabsHeader li:hover ul {
+ visibility: visible;
+}
+
+UL#tabsHeader ul li {
+ background: #EDECEC;
+ color: #5078aa;
+ padding: 3px;
+ width: 120px;
+
+ border: 1px solid #FFFFFF;
+ border-width: 1px 1px 0 0;
+
+ margin-left: 0px;
+ margin-top: 0px;
+ margin-right: 0px;
+}
+
+UL#tabsHeader ul li:hover {
+ background: #E2E2E2;
+}
+
+/* End Submenu selectors */
+
UL#tabsHeader #current a:hover {
text-decoration: none;
}
Modified: trunk/core/src/bin/portal-core-war/themes/renaissance/portal_style.css
===================================================================
--- trunk/core/src/bin/portal-core-war/themes/renaissance/portal_style.css 2006-10-26 18:37:55 UTC (rev 5504)
+++ trunk/core/src/bin/portal-core-war/themes/renaissance/portal_style.css 2006-10-27 20:10:36 UTC (rev 5505)
@@ -225,6 +225,8 @@
margin: 0;
padding-left: 0px;
min-width: 550px;
+ z-index: 100; /* added for submenu hover */
+ position: relative; /* added for submenu hover */
}
UL#tabsHeader li {
@@ -305,6 +307,66 @@
background-position: top left;
}
+/* Begin Submenu selectors */
+UL#tabsHeader ul {
+ visibility: hidden;
+ position: absolute;
+ height: 0;
+ top: 0px;
+ left: 0;
+ width: 150px;
+ text-align: left;
+ margin: 0px;
+ padding: 0px;
+ margin-top: 22px;
+}
+
+UL#tabsHeader ul a {
+ font: 11px;
+ font-family: Verdana, Arial, Helvetica, Sans-Serif, sans-serif;
+ font-weight: normal;
+ color: #5078aa;
+
+}
+
+UL#tabsHeader ul a:hover {
+ font: 11px;
+ font-family: Verdana, Arial, Helvetica, Sans-Serif, sans-serif;
+ font-weight: normal;
+ color: #5078aa;
+}
+
+UL#tabsHeader #current ul a {
+ font: 11px;
+ font-family: Verdana, Arial, Helvetica, Sans-Serif, sans-serif;
+ font-weight: normal;
+ color: #5078aa;
+}
+
+UL#tabsHeader li:hover ul {
+ visibility: visible;
+}
+
+UL#tabsHeader ul li {
+ background: #EDECEC;
+ color: #5078aa;
+ padding: 3px;
+ width: 120px;
+
+ border: 1px solid #FFFFFF;
+ border-width: 1px 1px 0 0;
+
+ margin-left: 0px;
+ margin-top: 0px;
+ margin-right: 0px;
+}
+
+UL#tabsHeader ul li:hover {
+ background: #E2E2E2;
+}
+
+/* End Submenu selectors */
+
/* -------- These are new selectors for the admin and add page styles ------- */
UL#tabsHeader #admin {
Modified: trunk/core/src/main/org/jboss/portal/core/aspects/controller/PageCustomizerInterceptor.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/aspects/controller/PageCustomizerInterceptor.java 2006-10-26 18:37:55 UTC (rev 5504)
+++ trunk/core/src/main/org/jboss/portal/core/aspects/controller/PageCustomizerInterceptor.java 2006-10-27 20:10:36 UTC (rev 5505)
@@ -270,11 +270,12 @@
StringBuffer html = new StringBuffer();
html.append("<ul id=\"tabsHeader\">");
+ List currentChildren = new ArrayList();
for (Iterator i = navElements.iterator(); i.hasNext();)
{
PortalObjectImpl navElement = (PortalObjectImpl)i.next();
- // build up Marks markup for the navigation , based on these nodes
+ // build up markup for the navigation , based on these nodes
String name = navElement.getName();
try
@@ -289,6 +290,7 @@
}
String id = navElement.getId();
+
PortalObjectPermission perm = new PortalObjectPermission(id, PortalObjectPermission.VIEW_MASK);
if (portalAuthorizationManagerFactory.getManager().checkPermission(perm))
{
@@ -301,10 +303,30 @@
{
html.append(" id=\"current\"");
}
- html.append(" onmouseover=\"this.className='hoverOn'\" onmouseout=\"this.className='hoverOff'\"><a href='").append(childURL).append("'>").append(name).append("</a></li>");
+ html.append(" onmouseover=\"this.className='hoverOn'\" onmouseout=\"this.className='hoverOff'\"><a href='").append(childURL).append("'>").append(name).append("</a>");
+
+ // Submenu logic
+ if (hasChildPages(navElement))
+ {
+ html.append("<ul>");
+ for (Iterator j = navElement.getChildren().iterator(); j.hasNext();)
+ {
+ PortalObject child = (PortalObject)j.next();
+ if (child.getType() == PortalObject.TYPE_PAGE)
+ {
+ RenderPageCommand renderCmd = new RenderPageCommand(child.getId());
+ String subChildURL = rpc.getControllerContext().encodeURL(renderCmd, null, null);
+
+ html.append("<li>").append("<a href='").append(subChildURL).append("'>").append(child.getName()).append("</a></li>");
+ }
+ }
+ html.append("</ul>");
+ }
+ html.append("</li>");
}
}
html.append("</ul>");
+
return html;
}
catch (Exception e)
@@ -314,6 +336,19 @@
}
}
+ private boolean hasChildPages(PortalObject portalObject)
+ {
+ for (Iterator i = portalObject.getChildren().iterator(); i.hasNext();)
+ {
+ PortalObject child = (PortalObject)i.next();
+ if (child.getType() == PortalObject.TYPE_PAGE)
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+
protected void sortTabs(List navElements)
{
Collections.sort(navElements, new Comparator()
More information about the jboss-svn-commits
mailing list