Return-Path: Delivered-To: apmail-portals-jetspeed-dev-archive@www.apache.org Received: (qmail 86900 invoked from network); 21 Jul 2005 06:18:20 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 21 Jul 2005 06:18:20 -0000 Received: (qmail 13041 invoked by uid 500); 21 Jul 2005 06:18:12 -0000 Delivered-To: apmail-portals-jetspeed-dev-archive@portals.apache.org Received: (qmail 12981 invoked by uid 500); 21 Jul 2005 06:18:11 -0000 Mailing-List: contact jetspeed-dev-help@portals.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Jetspeed Developers List" Delivered-To: mailing list jetspeed-dev@portals.apache.org Received: (qmail 12961 invoked by uid 99); 21 Jul 2005 06:18:11 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 20 Jul 2005 23:18:11 -0700 X-ASF-Spam-Status: No, hits=-9.8 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [209.237.227.194] (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.29) with SMTP; Wed, 20 Jul 2005 23:18:04 -0700 Received: (qmail 86857 invoked by uid 65534); 21 Jul 2005 06:18:07 -0000 Message-ID: <20050721061807.86854.qmail@minotaur.apache.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r220003 [1/2] - in /portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu: ./ css/ css/ThemeIE/ css/ThemeMiniBlack/ css/ThemeOffice/ css/ThemePanel/ images/ images/ThemeIE/ images/ThemeOffice/ images/T... Date: Thu, 21 Jul 2005 06:18:04 -0000 To: jetspeed-dev@portals.apache.org From: rwatler@apache.org X-Mailer: svnmailer-1.0.2 X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: rwatler Date: Wed Jul 20 23:18:02 2005 New Revision: 220003 URL: http://svn.apache.org/viewcvs?rev=220003&view=rev Log: JSCookMenu layout decorator prototype Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/ portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemeIE/ portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemeIE/theme.css (with props) portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemeMiniBlack/ portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemeMiniBlack/theme.css (with props) portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemeOffice/ portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemeOffice/theme.css (with props) portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemePanel/ portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemePanel/theme.css (with props) portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/styles.css (with props) portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/decorator-bottom.vm (with props) portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/decorator-macros.vm (with props) portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/decorator-top.vm (with props) portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/decorator.properties (with props) portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeIE/ portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeIE/arrow.gif (with props) portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeIE/folder.gif (with props) portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeIE/link.gif (with props) portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/ portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/arrow.gif (with props) portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/arrowdown.gif (with props) portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/blank.gif (with props) portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/copy.gif (with props) portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/copyshadow.gif (with props) portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/cut.gif (with props) portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/cutshadow.gif (with props) portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/help.gif (with props) portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/helpshadow.gif (with props) portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/new.gif (with props) portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/open.gif (with props) portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/openshadow.gif (with props) portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/paste.gif (with props) portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/pasteshadow.gif (with props) portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/save.gif (with props) portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/saveshadow.gif (with props) portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/spacer.gif (with props) portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemePanel/ portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemePanel/arrow.gif (with props) portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemePanel/arrowdown.gif (with props) portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemePanel/blank.gif (with props) portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/jetspeed-logo.gif (with props) portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/jetspeed-powered.gif (with props) portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/JSCookMenu.js (with props) portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemeIE/ portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemeIE/theme.js (with props) portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemeMiniBlack/ portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemeMiniBlack/theme.js (with props) portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemeOffice/ portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemeOffice/theme.js (with props) portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemePanel/ portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemePanel/theme.js (with props) Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemeIE/theme.css URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemeIE/theme.css?rev=220003&view=auto ============================================================================== --- portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemeIE/theme.css (added) +++ portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemeIE/theme.css Wed Jul 20 23:18:02 2005 @@ -0,0 +1,107 @@ +/* ThemeIEMenu Style Sheet */ + +.ThemeIEMenu,.ThemeIESubMenuTable +{ + cursor: default; + font-family: verdana, arial, sans-serif; + font-size: 13px; + + padding: 0; + border: 0; + white-space: nowrap; +} + +.ThemeIEMenu +{ + background-color: #F7F3EF; +} + +.ThemeIESubMenu +{ + position: absolute; + visibility: hidden; + + /* + Netscape/Mozilla renders borders by increasing + their z-index. The following line is necessary + to cover any borders underneath + */ + z-index: 100; + border: 0; + padding: 0; + + filter:progid:DXImageTransform.Microsoft.Shadow(color=#848A84, Direction=135, Strength=4); +} + +.ThemeIESubMenuTable +{ + border: 1px solid #ADAA9C; + background-color: white; +} + +.ThemeIESubMenuTable td +{ + white-space: nowrap; +} + +.ThemeIEMainItem,.ThemeIEMainItemHover,.ThemeIEMainItemActive, +.ThemeIEMenuItem,.ThemeIEMenuItemHover,.ThemeIEMenuItemActive +{ + padding-left: 3px; + padding-right: 3px; + white-space: nowrap; +} + +.ThemeIEMainItemHover,.ThemeIEMainItemActive, +.ThemeIEMenuItemHover,.ThemeIEMenuItemActive +{ + color: white; + background-color: #3169C6; +} + +.ThemeIEMenuSplit +{ + height: 1px; + margin-top: 1px; + margin-bottom: 1px; + overflow: hidden; + background-color: inherit; + border-top: 1px solid #ADAA9C; +} + +.ThemeIEMenuVSplit +{ + width: 1px; + margin: 0px; + overflow: hidden; + background-color: inherit; + border-right: 1px solid #ADAA9C; +} + +/* image shadow animation */ + +/* + seq1: image for normal + seq2: image for hover and active + + To use, in the icon field, input the following: + +*/ + +.ThemeIEMenuItem img.seq1 +{ + display: inline; +} + +.ThemeIEMenuItemHover seq2, +.ThemeIEMenuItemActive seq2 +{ + display: inline; +} + +.ThemeIEMenuItem .seq2, +.ThemeIEMenuItemHover .seq1, +.ThemeIEMenuItemActive .seq1 +{ + display: none; +} Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemeIE/theme.css ------------------------------------------------------------------------------ svn:eol-style = native Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemeMiniBlack/theme.css URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemeMiniBlack/theme.css?rev=220003&view=auto ============================================================================== --- portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemeMiniBlack/theme.css (added) +++ portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemeMiniBlack/theme.css Wed Jul 20 23:18:02 2005 @@ -0,0 +1,70 @@ +/* ThemeMiniBlackMenu Style Sheet */ + +.ThemeMiniBlackMenu,.ThemeMiniBlackSubMenuTable +{ + font-family: verdana, arial, sans-serif; + font-size: 9px; + color: white; + background-color: black; + + padding: 0; + border: 0; + + cursor: default; +} + +.ThemeMiniBlackSubMenu +{ + position: absolute; + visibility: hidden; + + /* + Netscape/Mozilla renders borders by increasing + their z-index. The following line is necessary + to cover any borders underneath + */ + z-index: 100; + border: 0; + padding: 0; +} + +.ThemeMiniBlackSubMenuTable +{ + border-top: 1px solid white; +} + +.ThemeMiniBlackSubMenuTable TD +{ + white-space: nowrap; +} + +.ThemeMiniBlackMainItem,.ThemeMiniBlackMainItemHover,.ThemeMiniBlackMainItemActive, +.ThemeMiniBlackMenuItem,.ThemeMiniBlackMenuItemHover,.ThemeMiniBlackMenuItemActive +{ + white-space: nowrap; +} + +.ThemeMiniBlackMainItemHover,.ThemeMiniBlackMainItemActive, +.ThemeMiniBlackMenuItemHover,.ThemeMiniBlackMenuItemActive +{ + color: red; +} + +.ThemeMiniBlackMenuSplit +{ + height: 1px; + margin-top: 1px; + margin-bottom: 1px; + overflow: hidden; + background-color: inherit; + border-top: 1px solid white; +} + +.ThemeMiniBlackMenuVSplit +{ + width: 1px; + margin: 0px; + overflow: hidden; + background-color: inherit; + border-right: 1px solid white; +} Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemeMiniBlack/theme.css ------------------------------------------------------------------------------ svn:eol-style = native Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemeOffice/theme.css URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemeOffice/theme.css?rev=220003&view=auto ============================================================================== --- portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemeOffice/theme.css (added) +++ portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemeOffice/theme.css Wed Jul 20 23:18:02 2005 @@ -0,0 +1,292 @@ +/* ThemeOfficeMenu Style Sheet */ + +.ThemeOfficeMenu,.ThemeOfficeSubMenuTable +{ + font-family: verdana, arial, sans-serif; + font-size: 13px; + + padding: 0; + + white-space: nowrap; + cursor: default; +} + +.ThemeOfficeSubMenu +{ + position: absolute; + visibility: hidden; + + /* + Netscape/Mozilla renders borders by increasing + their z-index. The following line is necessary + to cover any borders underneath + */ + z-index: 100; + border: 0; + padding: 0; + + overflow: visible; + border: 1px solid #8C867B; + + filter:progid:DXImageTransform.Microsoft.Shadow(color=#BDC3BD, Direction=135, Strength=4); +} + +.ThemeOfficeSubMenuTable +{ + overflow: visible; +} + +.ThemeOfficeMainItem,.ThemeOfficeMainItemHover,.ThemeOfficeMainItemActive, +.ThemeOfficeMenuItem,.ThemeOfficeMenuItemHover,.ThemeOfficeMenuItemActive +{ + border: 0; + cursor: default; + white-space: nowrap; +} + +.ThemeOfficeMainItem +{ + background-color: #EFEBDE; +} + +.ThemeOfficeMainItemHover,.ThemeOfficeMainItemActive +{ + background-color: #C6D3EF; +} + +.ThemeOfficeMenuItem +{ + background-color: WHITE; +} + +.ThemeOfficeMenuItemHover,.ThemeOfficeMenuItemActive +{ + background-color: #C6D3EF; +} + + +/* horizontal main menu */ + +.ThemeOfficeMainItem +{ + padding: 1px; + border: 0; +} + +td.ThemeOfficeMainItemHover,td.ThemeOfficeMainItemActive +{ + padding: 0px; + border: 1px solid #3169C6; +} + +.ThemeOfficeMainFolderLeft,.ThemeOfficeMainItemLeft, +.ThemeOfficeMainFolderText,.ThemeOfficeMainItemText, +.ThemeOfficeMainFolderRight,.ThemeOfficeMainItemRight +{ + background-color: inherit; +} + +/* vertical main menu sub components */ + +td.ThemeOfficeMainFolderLeft,td.ThemeOfficeMainItemLeft +{ + padding-top: 2px; + padding-bottom: 2px; + padding-left: 0px; + padding-right: 2px; + + border-top: 1px solid #3169C6; + border-bottom: 1px solid #3169C6; + border-left: 1px solid #3169C6; + + background-color: inherit; +} + +td.ThemeOfficeMainFolderText,td.ThemeOfficeMainItemText +{ + padding-top: 2px; + padding-bottom: 2px; + padding-left: 5px; + padding-right: 5px; + + border-top: 1px solid #3169C6; + border-bottom: 1px solid #3169C6; + + background-color: inherit; + white-space: nowrap; +} + +td.ThemeOfficeMainFolderRight,td.ThemeOfficeMainItemRight +{ + padding-top: 2px; + padding-bottom: 2px; + padding-left: 0px; + padding-right: 0px; + + border-top: 1px solid #3169C6; + border-bottom: 1px solid #3169C6; + border-right: 1px solid #3169C6; + + background-color: inherit; +} + +tr.ThemeOfficeMainItem td.ThemeOfficeMainFolderLeft, +tr.ThemeOfficeMainItem td.ThemeOfficeMainItemLeft +{ + padding-top: 3px; + padding-bottom: 3px; + padding-left: 1px; + padding-right: 2px; + + white-space: nowrap; + + border: 0; + background-color: inherit; +} + +tr.ThemeOfficeMainItem td.ThemeOfficeMainFolderText, +tr.ThemeOfficeMainItem td.ThemeOfficeMainItemText +{ + padding-top: 3px; + padding-bottom: 3px; + padding-left: 5px; + padding-right: 5px; + + border: 0; + background-color: inherit; +} + +tr.ThemeOfficeMainItem td.ThemeOfficeMainItemRight, +tr.ThemeOfficeMainItem td.ThemeOfficeMainFolderRight +{ + padding-top: 3px; + padding-bottom: 3px; + padding-left: 0px; + padding-right: 1px; + + border: 0; + background-color: inherit; +} + +/* sub menu sub components */ + +.ThemeOfficeMenuFolderLeft,.ThemeOfficeMenuItemLeft +{ + padding-top: 2px; + padding-bottom: 2px; + padding-left: 1px; + padding-right: 3px; + + border-top: 1px solid #3169C6; + border-bottom: 1px solid #3169C6; + border-left: 1px solid #3169C6; + + background-color: inherit; + white-space: nowrap; +} + +.ThemeOfficeMenuFolderText,.ThemeOfficeMenuItemText +{ + padding-top: 2px; + padding-bottom: 2px; + padding-left: 5px; + padding-right: 5px; + + border-top: 1px solid #3169C6; + border-bottom: 1px solid #3169C6; + + background-color: inherit; + white-space: nowrap; +} + +.ThemeOfficeMenuFolderRight,.ThemeOfficeMenuItemRight +{ + padding-top: 2px; + padding-bottom: 2px; + padding-left: 0px; + padding-right: 0px; + + border-top: 1px solid #3169C6; + border-bottom: 1px solid #3169C6; + border-right: 1px solid #3169C6; + + background-color: inherit; + white-space: nowrap; +} + +.ThemeOfficeMenuItem .ThemeOfficeMenuFolderLeft, +.ThemeOfficeMenuItem .ThemeOfficeMenuItemLeft +{ + padding-top: 3px; + padding-bottom: 3px; + padding-left: 2px; + padding-right: 3px; + + white-space: nowrap; + + border: 0; + background-color: #EFEFDE; +} + +.ThemeOfficeMenuItem .ThemeOfficeMenuFolderText, +.ThemeOfficeMenuItem .ThemeOfficeMenuItemText +{ + padding-top: 3px; + padding-bottom: 3px; + padding-left: 5px; + padding-right: 5px; + + border: 0; + background-color: inherit; +} + +.ThemeOfficeMenuItem .ThemeOfficeMenuFolderRight, +.ThemeOfficeMenuItem .ThemeOfficeMenuItemRight +{ + padding-top: 3px; + padding-bottom: 3px; + padding-left: 0px; + padding-right: 1px; + + border: 0; + background-color: inherit; +} + +/* menu splits */ + +.ThemeOfficeMenuSplit +{ + margin: 2px; + height: 1px; + overflow: hidden; + background-color: inherit; + border-top: 1px solid #C6C3BD; +} + +/* image shadow animation */ + +/* + seq1: image for normal + seq2: image for hover and active + + To use, in the icon field, input the following: + +*/ + +.ThemeOfficeMenuItem img.seq1 +{ + display: inline; +} + +.ThemeOfficeMenuItemHover seq2, +.ThemeOfficeMenuItemActive seq2 +{ + display: inline; +} + +.ThemeOfficeMenuItem .seq2, +.ThemeOfficeMenuItemHover .seq1, +.ThemeOfficeMenuItemActive .seq1 +{ + display: none; +} Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemeOffice/theme.css ------------------------------------------------------------------------------ svn:eol-style = native Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemePanel/theme.css URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemePanel/theme.css?rev=220003&view=auto ============================================================================== --- portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemePanel/theme.css (added) +++ portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemePanel/theme.css Wed Jul 20 23:18:02 2005 @@ -0,0 +1,356 @@ +/* ThemePanelMenu Style Sheet */ + +.ThemePanelMenu,.ThemePanelSubMenuTable +{ + font-family: verdana, arial, sans-serif; + font-size: 13px; + background-color: #F7F3F7; + + cursor: default; + white-space: nowrap; +} + +.ThemePanelSubMenu +{ + position: absolute; + visibility: hidden; + + /* + Netscape/Mozilla renders borders by increasing + their z-index. The following line is necessary + to cover any borders underneath + */ + z-index: 100; + border: 0; + padding: 0; + + /* the following property is only useful in IE */ + filter:progid:DXImageTransform.Microsoft.Shadow(color=#DEDEDE,Direction=135,Strength=4); +} + +.ThemePanelSubMenuTable +{ + border: 1px solid #9C9A9C; +} + +.ThemePanelMenuItem,.ThemePanelMenuItemHover,.ThemePanelMenuItemActive +{ + cursor: default; + white-space: nowrap; +} + +.ThemePanelMainItem, +.ThemePanelMenuItem +{ + background-color: #F7F3F7; +} + +.ThemePanelMainItemHover, +.ThemePanelMainItemActive, +.ThemePanelMenuItemHover, +.ThemePanelMenuItemActive +{ + background-color: #C6C6C3; +} + + +/* horizontal main menu sub components */ +/* panel doesn't really support horizontal menus */ + +.ThemePanelMainFolderLeft,.ThemePanelMainItemLeft, +.ThemePanelMainFolderText,.ThemePanelMainItemText, +.ThemePanelMainFolderRight,.ThemePanelMainItemRight +{ + border: 0; + background-color: inherit; + white-space: nowrap; +} + +/* vertical main menu sub components */ +TD.ThemePanelMainFolderLeft,TD.ThemePanelMainItemLeft +{ + padding-left: 0px; + padding-right: 0px; + + border-left: 1px solid #9C9A9C; + + white-space: nowrap; + background-color: inherit; +} + +TD.ThemePanelMainFolderLeft,TD.ThemePanelMainItemLeft, +TD.ThemePanelMainFolderText,TD.ThemePanelMainItemText, +TD.ThemePanelMainFolderRight,TD.ThemePanelMainItemRight +{ + padding-top: 2px; + padding-bottom: 2px; + border-top: 1px solid #9C9A9C; + border-bottom: 1px solid #9C9A9C; + + background-color: inherit; +} + +TD.ThemePanelMainFolderLeft,TD.ThemePanelMainItemLeft +{ + padding-right: 0px; + padding-left: 0px; + border-left: 1px solid #9C9A9C; + + background-color: inherit; + white-space: nowrap; +} + +TD.ThemePanelMainFolderText,TD.ThemePanelMainItemText +{ + padding-right: 10px; + padding-left: 10px; + + background-color: inherit; + white-space: nowrap; +} + +TD.ThemePanelMainFolderRight,TD.ThemePanelMainItemRight +{ + padding-right: 0px; + padding-left: 0px; + border-right: 1px solid #9C9A9C; + + background-color: inherit; + white-space: nowrap; +} + +TR.ThemePanelMainItem TD.ThemePanelMainFolderLeft +{ + padding-top: 3px; + padding-bottom: 3px; + padding-left: 1px; + padding-right: 0px; + + border: 0; + white-space: nowrap; + background-color: inherit; +} + +TR.ThemePanelMainItem TD.ThemePanelMainItemLeft +{ + padding-top: 3px; + padding-bottom: 3px; + padding-left: 1px; + padding-right: 0px; + + border: 0; + white-space: nowrap; + background-color: inherit; +} + +TR.ThemePanelMainItem TD.ThemePanelMainFolderText +{ + padding-top: 3px; + padding-bottom: 3px; + padding-left: 10px; + padding-right: 10px; + + border: 0; + white-space: nowrap; + background-color: inherit; +} + +TR.ThemePanelMainItem TD.ThemePanelMainItemText +{ + padding-top: 3px; + padding-bottom: 3px; + padding-left: 10px; + padding-right: 10px; + + border: 0; + white-space: nowrap; + background-color: inherit; +} + +TR.ThemePanelMainItem TD.ThemePanelMainItemRight +{ + padding-top: 3px; + padding-bottom: 3px; + padding-left: 0px; + padding-right: 1px; + + border: 0; + white-space: nowrap; + background-color: inherit; +} + +TR.ThemePanelMainItem TD.ThemePanelMainFolderRight +{ + padding-top: 3px; + padding-bottom: 3px; + padding-left: 0px; + padding-right: 1px; + + border: 0; + white-space: nowrap; + background-color: inherit; +} + +/* sub menus sub components */ + +.ThemePanelMenuFolderLeft,.ThemePanelMenuItemLeft +{ + padding-left: 0px; + padding-right: 0px; + + border-left: 1px solid #9C9A9C; + + white-space: nowrap; + background-color: inherit; +} + +.ThemePanelMenuFolderLeft,.ThemePanelMenuItemLeft, +.ThemePanelMenuFolderText,.ThemePanelMenuItemText, +.ThemePanelMenuFolderRight,.ThemePanelMenuItemRight +{ + padding-top: 2px; + padding-bottom: 2px; + border-top: 1px solid #9C9A9C; + border-bottom: 1px solid #9C9A9C; + + background-color: inherit; + white-space: nowrap; +} + +.ThemePanelMenuFolderLeft,.ThemePanelMenuItemLeft +{ + padding-right: 0px; + padding-left: 2px; + border-left: 1px solid #9C9A9C; + + background-color: inherit; + white-space: nowrap; +} + +.ThemePanelMenuFolderText,.ThemePanelMenuItemText +{ + padding-right: 3px; + padding-left: 5px; + + background-color: inherit; + white-space: nowrap; +} + +.ThemePanelMenuFolderRight,.ThemePanelMenuItemRight +{ + padding-right: 0px; + padding-left: 0px; + border-right: 1px solid #9C9A9C; + + background-color: inherit; + white-space: nowrap; +} + +TR.ThemePanelMenuItem TD.ThemePanelMenuFolderLeft +{ + padding-top: 3px; + padding-bottom: 3px; + padding-left: 3px; + padding-right: 0px; + + border: 0; + white-space: nowrap; + background-color: inherit; +} + +TR.ThemePanelMenuItem TD.ThemePanelMenuItemLeft +{ + padding-top: 3px; + padding-bottom: 3px; + padding-left: 3px; + padding-right: 0px; + + border: 0; + white-space: nowrap; + background-color: inherit; +} + +TR.ThemePanelMenuItem TD.ThemePanelMenuFolderText +{ + padding-top: 3px; + padding-bottom: 3px; + padding-right: 3px; + padding-left: 5px; + + border: 0; + white-space: nowrap; + background-color: inherit; +} + +TR.ThemePanelMenuItem TD.ThemePanelMenuItemText +{ + padding-top: 3px; + padding-bottom: 3px; + padding-right: 3px; + padding-left: 5px; + + border: 0; + white-space: nowrap; + background-color: inherit; +} + +TR.ThemePanelMenuItem TD.ThemePanelMenuItemRight +{ + padding-top: 3px; + padding-bottom: 3px; + padding-left: 0px; + padding-right: 1px; + + border: 0; + white-space: nowrap; + background-color: inherit; +} + +TR.ThemePanelMenuItem TD.ThemePanelMenuFolderRight +{ + padding-top: 3px; + padding-bottom: 3px; + padding-left: 0px; + padding-right: 1px; + + border: 0; + white-space: nowrap; + background-color: inherit; +} + +.ThemePanelMenuSplit +{ + margin: 2px; + height: 1px; + overflow: hidden; + background-color: inherit; + border-top: 1px solid #9C9A9C; +} + +/* image shadow animation */ + +/* + seq1: image for normal + seq2: image for hover and active + + To use, in the icon field, input the following: + +*/ + +.ThemePanelMenuItem img.seq1 +{ + display: inline; +} + +.ThemePanelMenuItemHover seq2, +.ThemePanelMenuItemActive seq2 +{ + display: inline; +} + +.ThemePanelMenuItem .seq2, +.ThemePanelMenuItemHover .seq1, +.ThemePanelMenuItemActive .seq1 +{ + display: none; +} Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemePanel/theme.css ------------------------------------------------------------------------------ svn:eol-style = native Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/styles.css URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/styles.css?rev=220003&view=auto ============================================================================== --- portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/styles.css (added) +++ portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/styles.css Wed Jul 20 23:18:02 2005 @@ -0,0 +1,91 @@ +/* +Copyright 2005 The Apache Software Foundation + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +body +{ + font-family: Verdana, Helvetica, Arial, sans-serif; + voice-family: "\"}\""; + voice-family: inherit; + padding: 1em; + background: #fff; + color: #000; +} + +a:link, a:visited +{ + color: blue; +} + +a:hover +{ + color: #f30 !important; +} + +body.layout-jscookmenu +{ + margin: 0; + padding: 0; +} + +.layout-jscookmenu #banner h1 +{ + font-size: 1.25em; + margin: 0; +} + +.layout-jscookmenu #breadcrumbs +{ + border-top: 1px solid #fff; + background-color: #ccc; + voice-family: "\"}\""; + voice-family: inherit; + font-size: x-small; + padding: 2px 8px; +} + +.layout-jscookmenu #breadcrumbs a +{ + text-decoration: none; +} + +.layout-jscookmenu #tophorizontalmenu +{ +} + +.layout-jscookmenu #leftverticalmenu +{ +} + +.Link +{ +} + +.LinkFolder +{ +} + +.LinkPage +{ +} + +.FolderList +{ +} + +.PageTitle +{ +} + Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/styles.css ------------------------------------------------------------------------------ svn:eol-style = native Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/decorator-bottom.vm URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/decorator-bottom.vm?rev=220003&view=auto ============================================================================== --- portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/decorator-bottom.vm (added) +++ portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/decorator-bottom.vm Wed Jul 20 23:18:02 2005 @@ -0,0 +1,47 @@ +#* +Copyright 2005 The Apache Software Foundation + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*# + +#* +JSCookMenu (c) Copyright 2002-2005 by Heng Yuan + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +*# + + + + + +

+ Jetspeed 2 Powered +

+ + Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/decorator-bottom.vm ------------------------------------------------------------------------------ svn:keywords = Id Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/decorator-macros.vm URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/decorator-macros.vm?rev=220003&view=auto ============================================================================== --- portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/decorator-macros.vm (added) +++ portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/decorator-macros.vm Wed Jul 20 23:18:02 2005 @@ -0,0 +1,197 @@ +#* +Copyright 2005 The Apache Software Foundation + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*# + +#* +JSCookMenu (c) Copyright 2002-2005 by Heng Yuan + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +*# + +#* define navigation constants *# +#macro (defineNavigationConstants) + #* Constants for layout orientation *# + #set($LEFT_TO_RIGHT = "LeftToRight") + #set($RIGHT_TO_LEFT = "RightToLeft") + #set($TOP_TO_BOTTOM = "TopToBottom") + #set($BOTTOM_TO_TOP = "BottomToTop") + + #* Constants for layout control *# + #set($TITLE_FIRST = "TitleFirst") + #set($TITLE_LAST = "TitleLast") + #set($BREADCRUMBS_STYLE = "BreadcrumbsStyle") + + #* Constants for JSCookMenu themes *# + #set($JSCOOKMENU_PANEL_THEME = "ThemePanel") + #set($JSCOOKMENU_OFFICE_THEME = "ThemeOffice") + #set($JSCOOKMENU_IE_THEME = "ThemeIE") + #set($JSCOOKMENU_MINI_BLACK_THEME = "ThemeMiniBlack") +#end + +#* include links navigation component *# +#macro (includeLinksNavigation $_menu $_orientation $_title $_style $_delimiter) + #if(!$_delimiter || $_delimiter == "") + #if($_style != $BREADCRUMBS_STYLE) + #set($_delimiter = " ") + #else + #set($_delimiter = " >> ") + #end + #end + #set($menuTitle = $_menu.getTitle($preferedLocale)) + #set($menuName = $_menu.getShortTitle($preferedLocale)) +
+ #if($_title == $TITLE_FIRST) + #if($_orientation == $LEFT_TO_RIGHT) + ${menuName}  + #elseif($_orientation == $TOP_TO_BOTTOM) +
${menuName}
+ #end + #end + #foreach($element in $_menu.elements.iterator()) + #if($element.elementType == "option") + #set($linkTitle = $element.getTitle($preferedLocale)) + #set($linkName = $element.getShortTitle($preferedLocale)) + #set($linkUrl = $jetspeed.getAbsoluteUrl($element.url)) + #if($_style != $BREADCRUMBS_STYLE || $element.type != "page" || $velocityCount < $_menu.elements.size()) + #if($_orientation == $LEFT_TO_RIGHT) + + #elseif($_orientation == $TOP_TO_BOTTOM) +
+ #end + #if($element.type == "page") + ${linkName} + #elseif($element.type == "link") + ${linkName} + #elseif($element.type == "folder") + ${linkName} + #else + ${linkName} + #end + #if($_orientation == $LEFT_TO_RIGHT) + ${_delimiter} + #elseif($_orientation == $TOP_TO_BOTTOM) +
+ #end + #else + #if($_orientation == $LEFT_TO_RIGHT) + ${linkName}  + #elseif($_orientation == $TOP_TO_BOTTOM) +
${linkName}
+ #end + #end + #elseif($element.elementType == "separator") + #set($separatorTitle = $element.getTitle($preferedLocale)) + #set($separatorText = $element.getText($preferedLocale)) + #if($_orientation == $LEFT_TO_RIGHT) + ${separatorText}${_delimiter} + #elseif($_orientation == $TOP_TO_BOTTOM) +
${separatorText}
+ #end + #end + #end + #if($_title == $TITLE_LAST) + #if($_orientation == $LEFT_TO_RIGHT) + ${menuName}  + #elseif($_orientation == $TOP_TO_BOTTOM) +
${menuName}
+ #end + #end +
+#end + +#macro (nestJSCookMenuDefinition $_menu) +#set($menuTitle = $_menu.getTitle($preferedLocale)) +#set($menuName = $_menu.getShortTitle($preferedLocale)) +['', '$!{menuName}', '', '', '$!{menuTitle}', +#foreach($element in $_menu.elements.iterator()) + #if($velocityCount > 1),#end + #if($element.elementType == "option") + #set($linkTitle = $element.getTitle($preferedLocale)) + #set($linkName = $element.getShortTitle($preferedLocale)) + #set($linkUrl = $jetspeed.getAbsoluteUrl($element.url)) + #if(($element.type == "page") || ($element.type == "folder")) + ['', '${linkName}', '${linkUrl}', '', '$!{linkTitle}'] + #elseif($element.type == "link") + #set($linkTarget = $element.target) + ['', '${linkName}', '${linkUrl}', '$!{linkTarget}', '$!{linkTitle}'] + #end + #elseif($element.elementType == "menu") + #nestJSCookMenuDefinition($element) + #elseif($element.elementType == "separator") + #set($separatorTitle = $element.getTitle($preferedLocale)) + #set($separatorText = $element.getText($preferedLocale)) + _cmSplit + #end +#end +] +#end + +#macro (includeJSCookMenuDefinition $_id $_menu) + +#end + +#macro (includeJSCookMenuDraw $_id $_theme $_orientation) + +#end Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/decorator-macros.vm ------------------------------------------------------------------------------ svn:keywords = Id Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/decorator-top.vm URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/decorator-top.vm?rev=220003&view=auto ============================================================================== --- portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/decorator-top.vm (added) +++ portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/decorator-top.vm Wed Jul 20 23:18:02 2005 @@ -0,0 +1,128 @@ +#* +Copyright 2005 The Apache Software Foundation + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*# + +#* +JSCookMenu (c) Copyright 2002-2005 by Heng Yuan + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +*# + +#* Add all template constants to the current context *# +#defineNavigationConstants() + +#* Add the current layouts configuration values to the context *# +#defineLayoutObjects() + +#* Access page context *# +#set($myF = $jetspeed.currentFragment) +#set($site = $request.getAttribute("org.apache.jetspeed.portalsite.PortalSiteRequestContext")) + +#* select default JSCookMenu theme *# +#set($jsCookMenuTheme = $JSCOOKMENU_PANEL_THEME) + +#* Access page menus *# +#set($siteNavigationsStandardMenu = $site.getMenu("site-navigations")) +#set($breadcrumbsStandardMenu = $site.getMenu("breadcrumbs")) +#set($additionalLinksStandardMenu = $site.getMenu("additional-links")) + + + + + + + + #includeStyleSheets() + $jetspeed.page.getTitle($preferedLocale) + + + + + + + + + + + + + + + +
+ + + + + +#if(!$siteNavigationsStandardMenu.empty) +#includeJSCookMenuDefinion("tophorizontalmenu" $siteNavigationsStandardMenu) +
+#includeJSCookMenuDraw("tophorizontalmenu" $jsCookMenuTheme $LEFT_TO_RIGHT) +#end + + + + + + + + + +#if(!$additionalLinksStandardMenu.empty) + +#end + + + ']; +// vertical split, used only in main menu +var cmThemeIEMainVSplit = [_cmNoAction, '
']; +// horizontal split, used only in main menu +var cmThemeIEMainHSplit = [_cmNoAction, '']; Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemeIE/theme.js ------------------------------------------------------------------------------ svn:eol-style = native Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemeMiniBlack/theme.js URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemeMiniBlack/theme.js?rev=220003&view=auto ============================================================================== --- portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemeMiniBlack/theme.js (added) +++ portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemeMiniBlack/theme.js Wed Jul 20 23:18:02 2005 @@ -0,0 +1,43 @@ +var cmThemeMiniBlack = +{ + // main menu display attributes + // + // Note. When the menu bar is horizontal, + // mainFolderLeft and mainFolderRight are + // put in . When the menu + // bar is vertical, they would be put in + // a separate TD cell. + + // HTML code to the left of the folder item + mainFolderLeft: '', + // HTML code to the right of the folder item + mainFolderRight: '', + // HTML code to the left of the regular item + mainItemLeft: '', + // HTML code to the right of the regular item + mainItemRight: '', + + // sub menu display attributes + + // HTML code to the left of the folder item + folderLeft: '', + // HTML code to the right of the folder item + folderRight: '', + // HTML code to the left of the regular item + itemLeft: '', + // HTML code to the right of the regular item + itemRight: '', + // cell spacing for main menu + mainSpacing: 0, + // cell spacing for sub menus + subSpacing: 0, + // auto dispear time for submenus in milli-seconds + delay: 100 +}; + +// horizontal split, used only in sub menus +var cmThemeMiniBlackHSplit = [_cmNoAction, '']; +// horizontal split, used only in main menu +var cmThemeMiniBlackMainHSplit = [_cmNoAction, '']; +// vertical split, used only in main menu +var cmThemeMiniBlackMainVSplit = [_cmNoAction, '
']; Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemeMiniBlack/theme.js ------------------------------------------------------------------------------ svn:eol-style = native Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemeOffice/theme.js URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemeOffice/theme.js?rev=220003&view=auto ============================================================================== --- portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemeOffice/theme.js (added) +++ portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemeOffice/theme.js Wed Jul 20 23:18:02 2005 @@ -0,0 +1,45 @@ + +// directory of where all the images are +var cmThemeOfficeBase = 'content/images/ThemeOffice/'; + +var cmThemeOffice = +{ + // main menu display attributes + // + // Note. When the menu bar is horizontal, + // mainFolderLeft and mainFolderRight are + // put in . When the menu + // bar is vertical, they would be put in + // a separate TD cell. + + // HTML code to the left of the folder item + mainFolderLeft: ' ', + // HTML code to the right of the folder item + mainFolderRight: ' ', + // HTML code to the left of the regular item + mainItemLeft: ' ', + // HTML code to the right of the regular item + mainItemRight: ' ', + + // sub menu display attributes + + // 0, HTML code to the left of the folder item + folderLeft: '', + // 1, HTML code to the right of the folder item + folderRight: '', + // 2, HTML code to the left of the regular item + itemLeft: '', + // 3, HTML code to the right of the regular item + itemRight: '', + // 4, cell spacing for main menu + mainSpacing: 0, + // 5, cell spacing for sub menus + subSpacing: 0, + // 6, auto dispear time for submenus in milli-seconds + delay: 500 +}; + +// for horizontal menu split +var cmThemeOfficeHSplit = [_cmNoAction, '']; +var cmThemeOfficeMainHSplit = [_cmNoAction, '']; +var cmThemeOfficeMainVSplit = [_cmNoAction, '|']; Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemeOffice/theme.js ------------------------------------------------------------------------------ svn:eol-style = native Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemePanel/theme.js URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemePanel/theme.js?rev=220003&view=auto ============================================================================== --- portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemePanel/theme.js (added) +++ portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemePanel/theme.js Wed Jul 20 23:18:02 2005 @@ -0,0 +1,47 @@ + +// directory of where all the images are +var cmThemePanelBase = 'content/images/ThemePanel/'; + +var cmThemePanel = +{ + // main menu display attributes + // + // Note. When the menu bar is horizontal, + // mainFolderLeft and mainFolderRight are + // put in . When the menu + // bar is vertical, they would be put in + // a separate TD cell. + + // HTML code to the left of the folder item + mainFolderLeft: '', + // HTML code to the right of the folder item + mainFolderRight: '', + // HTML code to the left of the regular item + mainItemLeft: '', + // HTML code to the right of the regular item + mainItemRight: '', + + // sub menu display attributes + + // HTML code to the left of the folder item + folderLeft: '', + // HTML code to the right of the folder item + folderRight: '', + // HTML code to the left of the regular item + itemLeft: '', + // HTML code to the right of the regular item + itemRight: '', + // cell spacing for main menu + mainSpacing: 0, + // cell spacing for sub menus + subSpacing: 0, + // auto dispear time for submenus in milli-seconds + delay: 500 +}; + +// for sub menu horizontal split +var cmThemePanelHSplit = [_cmNoAction, '']; +// for vertical main menu horizontal split +var cmThemePanelMainHSplit = [_cmNoAction, '']; +// for horizontal main menu vertical split +var cmThemePanelMainVSplit = [_cmNoAction, '|']; Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemePanel/theme.js ------------------------------------------------------------------------------ svn:eol-style = native --------------------------------------------------------------------- To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org For additional commands, e-mail: jetspeed-dev-help@portals.apache.org
+#includeJSCookMenuDefinion("leftverticalmenu" $additionalLinksStandardMenu) +
+#includeJSCookMenuDraw("leftverticalmenu" $jsCookMenuTheme $TOP_TO_BOTTOM) +
+ + Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/decorator-top.vm ------------------------------------------------------------------------------ svn:keywords = Id Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/decorator.properties URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/decorator.properties?rev=220003&view=auto ============================================================================== --- portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/decorator.properties (added) +++ portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/decorator.properties Wed Jul 20 23:18:02 2005 @@ -0,0 +1,40 @@ +# Copyright 2005 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# JSCookMenu (c) Copyright 2002-2005 by Heng Yuan +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. + +id=jscookmenu +template.type=velocity +template.extension=.vm +template.macros=-macros +decorates=layout +base.css.class=layout-jscookmenu Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/decorator.properties ------------------------------------------------------------------------------ svn:eol-style = native Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeIE/arrow.gif URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeIE/arrow.gif?rev=220003&view=auto ============================================================================== Binary file - no diff available. Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeIE/arrow.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeIE/folder.gif URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeIE/folder.gif?rev=220003&view=auto ============================================================================== Binary file - no diff available. Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeIE/folder.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeIE/link.gif URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeIE/link.gif?rev=220003&view=auto ============================================================================== Binary file - no diff available. Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeIE/link.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/arrow.gif URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/arrow.gif?rev=220003&view=auto ============================================================================== Binary file - no diff available. Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/arrow.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/arrowdown.gif URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/arrowdown.gif?rev=220003&view=auto ============================================================================== Binary file - no diff available. Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/arrowdown.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/blank.gif URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/blank.gif?rev=220003&view=auto ============================================================================== Binary file - no diff available. Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/blank.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/copy.gif URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/copy.gif?rev=220003&view=auto ============================================================================== Binary file - no diff available. Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/copy.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/copyshadow.gif URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/copyshadow.gif?rev=220003&view=auto ============================================================================== Binary file - no diff available. Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/copyshadow.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/cut.gif URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/cut.gif?rev=220003&view=auto ============================================================================== Binary file - no diff available. Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/cut.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/cutshadow.gif URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/cutshadow.gif?rev=220003&view=auto ============================================================================== Binary file - no diff available. Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/cutshadow.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/help.gif URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/help.gif?rev=220003&view=auto ============================================================================== Binary file - no diff available. Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/help.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/helpshadow.gif URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/helpshadow.gif?rev=220003&view=auto ============================================================================== Binary file - no diff available. Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/helpshadow.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/new.gif URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/new.gif?rev=220003&view=auto ============================================================================== Binary file - no diff available. Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/new.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/open.gif URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-weFrom jetspeed-dev-return-22703-apmail-portals-jetspeed-dev-archive=portals.apache.org@portals.apache.org Thu Jul 21 06:18:21 2005 Return-Path: Delivered-To: apmail-portals-jetspeed-dev-archive@www.apache.org Received: (qmail 86923 invoked from network); 21 Jul 2005 06:18:20 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 21 Jul 2005 06:18:20 -0000 Received: (qmail 13088 invoked by uid 500); 21 Jul 2005 06:18:12 -0000 Delivered-To: apmail-portals-jetspeed-dev-archive@portals.apache.org Received: (qmail 13000 invoked by uid 500); 21 Jul 2005 06:18:12 -0000 Mailing-List: contact jetspeed-dev-help@portals.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Jetspeed Developers List" Delivered-To: mailing list jetspeed-dev@portals.apache.org Received: (qmail 12982 invoked by uid 99); 21 Jul 2005 06:18:11 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 20 Jul 2005 23:18:11 -0700 X-ASF-Spam-Status: No, hits=-9.8 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [209.237.227.194] (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.29) with SMTP; Wed, 20 Jul 2005 23:18:04 -0700 Received: (qmail 86860 invoked by uid 65534); 21 Jul 2005 06:18:08 -0000 Message-ID: <20050721061808.86858.qmail@minotaur.apache.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r220003 [2/2] - in /portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu: ./ css/ css/ThemeIE/ css/ThemeMinimeOffice/openshadow.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/paste.gif URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/paste.gif?rev=220003&view=auto ============================================================================== Binary file - no diff available. Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/paste.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/pasteshadow.gif URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/pBlack/ css/ThemeOffice/ css/ThemePanel/ images/ images/ThemeIE/ images/ThemeOffice/ images/T... Date: Thu, 21 Jul 2005 06:18:04 -0000 To: jetspeed-dev@portals.apache.org From: rwatler@apache.org X-Mailer: svnmailer-1.0.2 X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/JSCookMenu.js URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/JSCookMenu.js?rev=220003&view=auto ============================================================================== --- portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/JSCookMenu.js (added) +++ portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/JSCookMenu.js Wed Jul 20 23:18:02 2005 @@ -0,0 +1,1120 @@ +/* + JSCookMenu v1.4. (c) Copyright 20ortal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/pasteshadow.gif?rev=220003&view=auto ============================================================================== Binary file - no diff available. Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/pasteshadow.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/save.gif URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/save.gif?rev=220003&view=auto ============================================================================== Binary file - no diff available. Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/02-2005 by Heng Yuan + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + ITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTimages/ThemeOffice/save.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/saveshadow.gif URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/saveshadow.gif?rev=220003&view=auto ============================================================================== Binary file - no diff available. Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/saveshadow.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/spacer.gif URL: http://svn.apache.org/viewcvs/portals/jetsWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +*/ + +// Globals +var _cmIDCount = 0; +var _cmIDName = 'cmSubMenuID'; // for creating submenu id + +var _cmTimeOut = null; // how long the menu would stay +var _cmCurrentItem = null; // the current menu item being selected; + +var _cmNoAction = new Object (); // indicate that the item cannot be hovered. +var _cmNoClick = new Object (); // similar to _cmNoAction but does not respond to mouseup/mousedown events +var _cmSplit = new Object (); // indicate that the item is a menu split + +var _cmItemList = new Array (); // a simple list of items + +// default node properties +var _cmNodeProperties = +{ + // main menu display attributes + // + // Note. When the menu bar is horizontal, + // mainFolderLeft and mainFolderRight are + // put in . When the menu + // bar is vertical, they would be put in + // a separate TD cell. + + // HTML code to the left of the folder item + mainFolderLeft: '', + // HTML code to the right ofpeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/spacer.gif?rev=220003&view=auto ============================================================================== Binary file - no diff available. Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/spacer.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemePanel/arrow.gif URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemePanel/arrow.gif?rev=220003&view=auto ============================================================================== Binary file - no diff available. Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookm the folder item + mainFolderRight: '', + // HTML code to the left of the regular item + mainItemLeft: '', + // HTML code to the right of the regular item + mainItemRight: '', + + // sub menu display attributes + + // HTML code to the left of the folder item + folderLeft: '', + // HTML code to the right of the folder item + folderRight: '', + // HTML code to the left of the regular item + itemLeft: '', + // HTML code to the right of the regular item + itemRight: '', + // cell spacing for main menu + mainSpacing: 0, + // cell spacing for sub menus + subSpacing: 0, + // auto disappear time for submenus in milli-seconds + delay: 500, + + // act on click to open sub menu + // not yet implemented + // 0 : use default behavior + // 1 : hover open in all cases + // 2 : click on main, hover on sub + // 3 : click open in all cases + clickOpen: 1 +}; + +////////////////////////////////////////////////////////////////////// +// +// Drawing Functions and Utility Functions +// +//////////////////////////////////////////enu/images/ThemePanel/arrow.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemePanel/arrowdown.gif URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemePanel/arrowdown.gif?rev=220003&view=auto ============================================================================== Binary file - no diff available. Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemePanel/arrowdown.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemePanel/blank.gif URL: http://svn.apache.org/viewcvs/portals/jetspeed//////////////////////////// + +// +// produce a new unique id +// +function cmNewID () +{ + return _cmIDName + (++_cmIDCount); +} + +// +// return the property string for the menu item +// +function cmActionItem (item, prefix, isMain, idSub, orient, nodeProperties) +{ + var clickOpen = _cmNodeProperties.clickOpen; + if (nodeProperties.clickOpen) + clickOpen = nodeProperties.clickOpen; + + // var index = _cmItemList.push (item) - 1; + _cmItemList[_cmItemList.length] = item; + var index = _cmItemList.length - 1; + idSub = (!idSub) ? 'null' : ('\'' + idSub + '\''); + orient = '\'' + orient + '\''; + prefix = '\'' + prefix + '\''; + var onClick = (clickOpen == 3) || (clickOpen == 2 && isMain); + var returnStr; + if (onClick) + returnStr = ' onmouseover="cmItemMouseOver (this,' + prefix + ',' + isMain + ',' + idSub + ',' + index + ')" onmousedown="cmItemMouseDownOpenSub (this,' + index + ',' + prefix + ',' + orient + ',' + idSub + ')"'; + else + returnStr = ' onmouseover="cmItemMouseOverOpenSub (this,' + prefi-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemePanel/blank.gif?rev=220003&view=auto ============================================================================== Binary file - no diff available. Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemePanel/blank.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/jetspeed-logo.gif URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/jetspeed-logo.gif?rev=220003&view=auto ============================================================================== Binary file - no diff available. Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/jetx + ',' + isMain + ',' + idSub + ',' + orient + ',' + index + ')" onmousedown="cmItemMouseDown (this,' + index + ')"'; + return returnStr + ' onmouseout="cmItemMouseOut (this,' + nodeProperties.delay + ')" onmouseup="cmItemMouseUp (this,' + index + ')"'; +} + +// +// this one is used by _cmNoClick to only take care of onmouseover and onmouseout +// events which are associated with menu but not actions associated with menu clicking/closing +// +function cmNoClickItem (item, prefix, isMain, idSub, orient, nodeProperties) +{ + // var index = _cmItemList.push (item) - 1; + _cmItemList[_cmItemList.length] = item; + var index = _cmItemList.length - 1; + idSub = (!idSub) ? 'null' : ('\'' + idSub + '\''); + orient = '\'' + orient + '\''; + prefix = '\'' + prefix + '\''; + return ' onmouseover="cmItemMouseOver (this,' + prefix + ',' + isMain + ',' + idSub + ',' + orient + ',' + index + ')" onmouseout="cmItemMouseOut (this,' + nodeProperties.delay + ')"'; +} + +function cmNoActionItem (item, prefix) +{ + return item[1]speed-logo.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/jetspeed-powered.gif URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/jetspeed-powered.gif?rev=220003&view=auto ============================================================================== Binary file - no diff available. Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/jetspeed-powered.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream --------------------------------------------------------------------- To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org For additional commands, e-mail: jetspeed-dev-help@portals.apache.or; +} + +function cmSplitItem (prefix, isMain, vertical) +{ + var classStr = 'cm' + prefix; + if (isMain) + { + classStr += 'Main'; + if (vertical) + classStr += 'HSplit'; + else + classStr += 'VSplit'; + } + else + classStr += 'HSplit'; + var item = eval (classStr); + return cmNoActionItem (item, prefix); +} + +// +// draw the sub menu recursively +// +function cmDrawSubMenu (subMenu, prefix, id, orient, nodeProperties) +{ + var str = '
'; + var strSub = ''; + + var item; + var idSub; + var hasChild; + + var i; + + var classStr; + + for (i = 5; i < subMenu.length; ++i) + { + item = subMenu[i]; + if (!item) + continue; + + hasChild = (item.length > 5); + idSub = hasChild ? cmNewID () : null; + + str += ''; + + if (item[0] != null) + str += item[0]; + else + str += hasChild ? nodeProperties.folderLeft : nodeProperties.itemLeft; + + str += ''; + } + + str += '
' + item[1]; + + str += ''; + + if (hasChild) + { + str += nodeProperties.folderRight; + strSub += cmDrawSubMenu (item, prefix, idSub, orient, nodeProperties); + } + else + str += nodeProperties.itemRight; + str += '
' + strSub; + return str; +} + +// +// The function that builds the menu inside the specified element id. +// +// @param id id of the element +// orient orientation of the menu in [hv][ab][lr] format +// menu the menu object to be drawn +// nodeProperties properties for each menu node +// +function cmDraw (id, menu, orient, nodeProperties, prefix) +{ + var obj = cmGetObject (id); + + if (!nodeProperties) + nodeProperties = _cmNodeProperties; + if (!prefix) + prefix = ''; + + var str = ''; + var strSub = ''; + + if (!orient) + orient = 'hbr'; + + var orientStr = String (orient); + var orientSub; + var vertical; + + // draw the main menu items + if (orientStr.charAt (0) == 'h') + { + // horizontal menu + orientSub = 'v' + orientStr.substr (1, 2); + str += ''; + vertical = false; + } + else + { + // vertical menu + orientSub = 'v' + orientStr.substr (1, 2); + vertical = true; + } + + var i; + var item; + var idSub; + var hasChild; + + var classStr; + + for (i = 0; i < menu.length; ++i) + { + item = menu[i]; + + if (!item) + continue; + + str += vertical ? ' 5); + idSub = hasChild ? cmNewID () : null; + + str += cmActionItem (item, prefix, 1, idSub, orient, nodeProperties) + '>'; + + if (item == _cmSplit) + { + str += cmSplitItem (prefix, 1, vertical); + str += vertical? '' : ''; + continue; + } + + if (item[0] == _cmNoAction || item[0] == _cmNoClick) + { + str += cmNoActionItem (item, prefix); + str += vertical? '' : ''; + continue; + } + + classStr = prefix + 'Main' + (hasChild ? 'Folder' : 'Item'); + + str += vertical ? ''; + + str += (item[0] == null) ? (hasChild ? nodeProperties.mainFolderLeft : nodeProperties.mainItemLeft) + : item[0]; + str += vertical ? '' : ''; + + str += vertical ? ''; + str += item[1]; + + str += vertical ? '' : ''; + + str += vertical ? ''; + + str += hasChild ? nodeProperties.mainFolderRight : nodeProperties.mainItemRight; + + str += vertical ? '' : ''; + + str += vertical ? '' : ''; + + if (hasChild) + strSub += cmDrawSubMenu (item, prefix, idSub, orientSub, nodeProperties); + } + if (!vertical) + str += ''; + str += '
' + strSub; + obj.innerHTML = str; + //document.write ("" + str + ""); +} + +// +// The function builds the menu inside the specified element id. +// +// This function is similar to cmDraw except that menu is taken from HTML node +// rather a javascript tree. This feature allows links to be scanned by search +// bots. +// +// This function basically converts HTML node to a javascript tree, and then calls +// cmDraw to draw the actual menu, replacing the hidden menu tree. +// +// Format: +// +// +function cmDrawFromText (id, orient, nodeProperties, prefix) +{ + var domMenu = cmGetObject (id); + var menu = null; + for (var currentDomItem = domMenu.firstChild; currentDomItem; currentDomItem = currentDomItem.nextSibling) + { + if (!currentDomItem.tagName || currentDomItem.tagName.toLowerCase () != 'ul') + continue; + menu = cmDrawFromTextSubMenu (currentDomItem); + break; + } + if (menu) + cmDraw (id, menu, orient, nodeProperties, prefix); +} + +// +// a recursive function that build menu tree structure +// +function cmDrawFromTextSubMenu (domMenu) +{ + var items = new Array (); + for (var currentDomItem = domMenu.firstChild; currentDomItem; currentDomItem = currentDomItem.nextSibling) + { + if (!currentDomItem.tagName || currentDomItem.tagName.toLowerCase () != 'li') + continue; + if (currentDomItem.firstChild == null) + { + items[items.length] = _cmSplit; + continue; + } + var item = new Array (); + var currentItem = currentDomItem.firstChild; + for (; currentItem; currentItem = currentItem.nextSibling) + { + // scan for span tag + if (!currentItem.tagName || currentItem.tagName.toLowerCase () != 'span') + continue; + if (!currentItem.firstChild) + item[0] = null; + else + item[0] = currentItem.innerHTML; + break; + } + if (!currentItem) + continue; + for (; currentItem; currentItem = currentItem.nextSibling) + { + // scan for span tag + if (!currentItem.tagName || currentItem.tagName.toLowerCase () != 'a') + continue; + item[1] = currentItem.innerHTML; + item[2] = currentItem.href; + item[3] = currentItem.target; + item[4] = currentItem.title; + break; + } + + for (; currentItem; currentItem = currentItem.nextSibling) + { + // scan for span tag + if (!currentItem.tagName || currentItem.tagName.toLowerCase () != 'ul') + continue; + var subMenuItems = cmDrawFromTextSubMenu (currentItem); + for (i = 0; i < subMenuItems.length; ++i) + item[i + 5] = subMenuItems[i]; + break; + } + items[items.length] = item; + } + return items; +} + +////////////////////////////////////////////////////////////////////// +// +// Mouse Event Handling Functions +// +////////////////////////////////////////////////////////////////////// + +// +// action should be taken for mouse moving in to the menu item +// +// Here we just do things concerning this menu item, w/o opening sub menus. +// +function cmItemMouseOver (obj, prefix, isMain, idSub, index) +{ + clearTimeout (_cmTimeOut); + + if (!obj.cmPrefix) + { + obj.cmPrefix = prefix; + obj.cmIsMain = isMain; + } + + var thisMenu = cmGetThisMenu (obj, prefix); + + // insert obj into cmItems if cmItems doesn't have obj + if (!thisMenu.cmItems) + thisMenu.cmItems = new Array (); + var i; + for (i = 0; i < thisMenu.cmItems.length; ++i) + { + if (thisMenu.cmItems[i] == obj) + break; + } + if (i == thisMenu.cmItems.length) + { + //thisMenu.cmItems.push (obj); + thisMenu.cmItems[i] = obj; + } + + // hide the previous submenu that is not this branch + if (_cmCurrentItem) + { + // occationally, we get this case when user + // move the mouse slowly to the border + if (_cmCurrentItem == obj || _cmCurrentItem == thisMenu) + return; + + var thatPrefix = _cmCurrentItem.cmPrefix; + var thatMenu = cmGetThisMenu (_cmCurrentItem, thatPrefix); + + if (thatMenu != thisMenu.cmParentMenu) + { + if (_cmCurrentItem.cmIsMain) + _cmCurrentItem.className = thatPrefix + 'MainItem'; + else + _cmCurrentItem.className = thatPrefix + 'MenuItem'; + if (thatMenu.id != idSub) + cmHideMenu (thatMenu, thisMenu, thatPrefix); + } + } + + // okay, set the current menu to this obj + _cmCurrentItem = obj; + + // just in case, reset all items in this menu to MenuItem + cmResetMenu (thisMenu, prefix); + + var item = _cmItemList[index]; + var isDefaultItem = cmIsDefaultItem (item); + + if (isDefaultItem) + { + if (isMain) + obj.className = prefix + 'MainItemHover'; + else + obj.className = prefix + 'MenuItemHover'; + } + + var descript = ''; + if (item.length > 4) + descript = (item[4] != null) ? item[4] : (item[2] ? item[2] : descript); + else if (item.length > 2) + descript = (item[2] ? item[2] : descript); + + window.defaultStatus = descript; +} + +// +// action should be taken for mouse moving in to the menu item +// +// This function also opens sub menu +// +function cmItemMouseOverOpenSub (obj, prefix, isMain, idSub, orient, index) +{ + cmItemMouseOver (obj, prefix, isMain, idSub, index); + + if (idSub) + { + var subMenu = cmGetObject (idSub); + cmShowSubMenu (obj, prefix, subMenu, orient); + } +} + +// +// action should be taken for mouse moving out of the menu item +// +function cmItemMouseOut (obj, delayTime) +{ + if (!delayTime) + delayTime = _cmNodeProperties.delay; + _cmTimeOut = window.setTimeout ('cmHideMenuTime ()', delayTime); + window.defaultStatus = ''; +} + +// +// action should be taken for mouse button down at a menu item +// +function cmItemMouseDown (obj, index) +{ + if (cmIsDefaultItem (_cmItemList[index])) + { + if (obj.cmIsMain) + obj.className = obj.cmPrefix + 'MainItemActive'; + else + obj.className = obj.cmPrefix + 'MenuItemActive'; + } +} + +// +// action should be taken for mouse button down at a menu item +// this is one also opens submenu if needed +// +function cmItemMouseDownOpenSub (obj, index, prefix, orient, idSub) +{ + cmItemMouseDown (obj, index); + + if (idSub) + { + var subMenu = cmGetObject (idSub); + cmShowSubMenu (obj, prefix, subMenu, orient); + } +} + +// +// action should be taken for mouse button up at a menu item +// +function cmItemMouseUp (obj, index) +{ + var item = _cmItemList[index]; + + var link = null, target = '_self'; + + if (item.length > 2) + link = item[2]; + if (item.length > 3 && item[3]) + target = item[3]; + + if (link != null) + { + window.open (link, target); + } + + var prefix = obj.cmPrefix; + var thisMenu = cmGetThisMenu (obj, prefix); + + var hasChild = (item.length > 5); + if (!hasChild) + { + if (cmIsDefaultItem (item)) + { + if (obj.cmIsMain) + obj.className = prefix + 'MainItem'; + else + obj.className = prefix + 'MenuItem'; + } + cmHideMenu (thisMenu, null, prefix); + } + else + { + if (cmIsDefaultItem (item)) + { + if (obj.cmIsMain) + obj.className = prefix + 'MainItemHover'; + else + obj.className = prefix + 'MenuItemHover'; + } + } +} + +////////////////////////////////////////////////////////////////////// +// +// Mouse Event Support Utility Functions +// +////////////////////////////////////////////////////////////////////// + +// +// move submenu to the appropriate location +// +// @param obj the menu item that opens up the subMenu +// subMenu the sub menu to be shown +// orient the orientation of the subMenu +// +function cmMoveSubMenu (obj, subMenu, orient) +{ + var mode = String (orient); + var p = subMenu.offsetParent; + var subMenuWidth = cmGetWidth (subMenu); + var horiz = cmGetHorizontalAlign (obj, mode, p, subMenuWidth); + if (mode.charAt (0) == 'h') + { + if (mode.charAt (1) == 'b') + subMenu.style.top = (cmGetYAt (obj, p) + cmGetHeight (obj)) + 'px'; + else + subMenu.style.top = (cmGetYAt (obj, p) - cmGetHeight (subMenu)) + 'px'; + if (horiz == 'r') + subMenu.style.left = (cmGetXAt (obj, p)) + 'px'; + else + subMenu.style.left = (cmGetXAt (obj, p) + cmGetWidth (obj) - subMenuWidth) + 'px'; + } + else + { + if (horiz == 'r') + subMenu.style.left = (cmGetXAt (obj, p) + cmGetWidth (obj)) + 'px'; + else + subMenu.style.left = (cmGetXAt (obj, p) - subMenuWidth) + 'px'; + if (mode.charAt (1) == 'b') + subMenu.style.top = (cmGetYAt (obj, p)) + 'px'; + else + subMenu.style.top = (cmGetYAt (obj, p) + cmGetHeight (obj) - cmGetHeight (subMenu)) + 'px'; + } +} + +// +// automatically re-adjust the menu position based on available screen size. +// +function cmGetHorizontalAlign (obj, mode, p, subMenuWidth) +{ + var horiz = mode.charAt (2); + if (!(document.body)) + return horiz; + var body = document.body; + var browserLeft; + var browserRight; + if (window.innerWidth) + { + // DOM window attributes + browserLeft = window.pageXOffset; + browserRight = window.innerWidth + browserLeft; + } + else if (body.clientWidth) + { + // IE attributes + browserLeft = body.clientLeft; + browserRight = body.clientWidth + browserLeft; + } + else + return horiz; + if (mode.charAt (0) == 'h') + { + if (horiz == 'r' && (cmGetXAt (obj) + subMenuWidth) > browserRight) + horiz = 'l'; + if (horiz == 'l' && (cmGetXAt (obj) + cmGetWidth (obj) - subMenuWidth) < browserLeft) + horiz = 'r'; + return horiz; + } + else + { + if (horiz == 'r' && (cmGetXAt (obj, p) + cmGetWidth (obj) + subMenuWidth) > browserRight) + horiz = 'l'; + if (horiz == 'l' && (cmGetXAt (obj, p) - subMenuWidth) < browserLeft) + horiz = 'r'; + return horiz; + } +} + +// +// show the subMenu w/ specified orientation +// also move it to the correct coordinates +// +// @param obj the menu item that opens up the subMenu +// subMenu the sub menu to be shown +// orient the orientation of the subMenu +// +function cmShowSubMenu (obj, prefix, subMenu, orient) +{ + if (!subMenu.cmParentMenu) + { + // establish the tree w/ back edge + var thisMenu = cmGetThisMenu (obj, prefix); + subMenu.cmParentMenu = thisMenu; + if (!thisMenu.cmSubMenu) + thisMenu.cmSubMenu = new Array (); + //thisMenu.cmSubMenu.push (subMenu); + thisMenu.cmSubMenu[thisMenu.cmSubMenu.length] = subMenu; + } + + // position the sub menu + cmMoveSubMenu (obj, subMenu, orient); + subMenu.style.visibility = 'visible'; + + // + // On IE, controls such as SELECT, OBJECT, IFRAME (before 5.5) + // are window based controls. So, if the sub menu and these + // controls overlap, sub menu would be hidden behind them. Thus + // one needs to turn the visibility of these controls off when the + // sub menu is showing, and turn their visibility back on + // when the sub menu is hiding. + // + if (document.all) // it is IE + { + /* part of Felix Zaslavskiy's fix on hiding controls + not really sure if this part is necessary, but shouldn't + hurt. */ + if (!subMenu.cmOverlap) + subMenu.cmOverlap = new Array (); +/*@cc_on @*/ +/*@if (@_jscript_version >= 5.5) +@else @*/ + cmHideControl ("IFRAME", subMenu); +/*@end @*/ + cmHideControl ("SELECT", subMenu); + cmHideControl ("OBJECT", subMenu); + } +} + +// +// reset all the menu items to class MenuItem in thisMenu +// +function cmResetMenu (thisMenu, prefix) +{ + if (thisMenu.cmItems) + { + var i; + var str; + var items = thisMenu.cmItems; + for (i = 0; i < items.length; ++i) + { + if (items[i].cmIsMain) + str = prefix + 'MainItem'; + else + str = prefix + 'MenuItem'; + if (items[i].className != str) + items[i].className = str; + } + } +} + +// +// called by the timer to hide the menu +// +function cmHideMenuTime () +{ + if (_cmCurrentItem) + { + var prefix = _cmCurrentItem.cmPrefix; + cmHideMenu (cmGetThisMenu (_cmCurrentItem, prefix), null, prefix); + } +} + +// +// hide thisMenu, children of thisMenu, as well as the ancestor +// of thisMenu until currentMenu is encountered. currentMenu +// will not be hidden +// +function cmHideMenu (thisMenu, currentMenu, prefix) +{ + var str = prefix + 'SubMenu'; + + // hide the down stream menus + if (thisMenu.cmSubMenu) + { + var i; + for (i = 0; i < thisMenu.cmSubMenu.length; ++i) + { + cmHideSubMenu (thisMenu.cmSubMenu[i], prefix); + } + } + + // hide the upstream menus + while (thisMenu && thisMenu != currentMenu) + { + cmResetMenu (thisMenu, prefix); + if (thisMenu.className == str) + { + thisMenu.style.visibility = 'hidden'; + cmShowControl (thisMenu); + } + else + break; + thisMenu = cmGetThisMenu (thisMenu.cmParentMenu, prefix); + } +} + +// +// hide thisMenu as well as its sub menus if thisMenu is not +// already hidden +// +function cmHideSubMenu (thisMenu, prefix) +{ + if (thisMenu.style.visibility == 'hidden') + return; + if (thisMenu.cmSubMenu) + { + var i; + for (i = 0; i < thisMenu.cmSubMenu.length; ++i) + { + cmHideSubMenu (thisMenu.cmSubMenu[i], prefix); + } + } + cmResetMenu (thisMenu, prefix); + thisMenu.style.visibility = 'hidden'; + cmShowControl (thisMenu); +} + +// +// hide a control such as IFRAME +// +function cmHideControl (tagName, subMenu) +{ + var x = cmGetX (subMenu); + var y = cmGetY (subMenu); + var w = subMenu.offsetWidth; + var h = subMenu.offsetHeight; + + var i; + for (i = 0; i < document.all.tags(tagName).length; ++i) + { + var obj = document.all.tags(tagName)[i]; + if (!obj || !obj.offsetParent) + continue; + + // check if the object and the subMenu overlap + + var ox = cmGetX (obj); + var oy = cmGetY (obj); + var ow = obj.offsetWidth; + var oh = obj.offsetHeight; + + if (ox > (x + w) || (ox + ow) < x) + continue; + if (oy > (y + h) || (oy + oh) < y) + continue; + + // if object is already made hidden by a different + // submenu then we dont want to put it on overlap list of + // of a submenu a second time. + // - bug fixed by Felix Zaslavskiy + if(obj.style.visibility == "hidden") + continue; + + //subMenu.cmOverlap.push (obj); + subMenu.cmOverlap[subMenu.cmOverlap.length] = obj; + obj.style.visibility = "hidden"; + } +} + +// +// show the control hidden by the subMenu +// +function cmShowControl (subMenu) +{ + if (subMenu.cmOverlap) + { + var i; + for (i = 0; i < subMenu.cmOverlap.length; ++i) + subMenu.cmOverlap[i].style.visibility = ""; + } + subMenu.cmOverlap = null; +} + +// +// returns the main menu or the submenu table where this obj (menu item) +// is in +// +function cmGetThisMenu (obj, prefix) +{ + var str1 = prefix + 'SubMenu'; + var str2 = prefix + 'Menu'; + while (obj) + { + if (obj.className == str1 || obj.className == str2) + return obj; + obj = obj.parentNode; + } + return null; +} + +// +// return true if this item is handled using default handlers +// +function cmIsDefaultItem (item) +{ + if (item == _cmSplit || item[0] == _cmNoAction || item[0] == _cmNoClick) + return false; + return true; +} + +// +// returns the object baring the id +// +function cmGetObject (id) +{ + if (document.all) + return document.all[id]; + return document.getElementById (id); +} + +// +// functions that obtain the width of an HTML element. +// +function cmGetWidth (obj) +{ + var width = obj.offsetWidth; + if (width > 0 || !cmIsTRNode (obj)) + return width; + if (!obj.firstChild) + return 0; + // use TABLE's length can cause an extra pixel gap + //return obj.parentNode.parentNode.offsetWidth; + + // use the left and right child instead + return obj.lastChild.offsetLeft - obj.firstChild.offsetLeft + cmGetWidth (obj.lastChild); +} + +// +// functions that obtain the height of an HTML element. +// +function cmGetHeight (obj) +{ + var height = obj.offsetHeight; + if (height > 0 || !cmIsTRNode (obj)) + return height; + if (!obj.firstChild) + return 0; + // use the first child's height + return obj.firstChild.offsetHeight; +} + +// +// functions that obtain the coordinates of an HTML element +// +function cmGetX (obj) +{ + var x = 0; + + do + { + x += obj.offsetLeft; + obj = obj.offsetParent; + } + while (obj); + return x; +} + +function cmGetXAt (obj, elm) +{ + var x = 0; + + while (obj && obj != elm) + { + x += obj.offsetLeft; + obj = obj.offsetParent; + } + if (obj == elm) + return x; + return x - cmGetX (elm); +} + +function cmGetY (obj) +{ + var y = 0; + do + { + y += obj.offsetTop; + obj = obj.offsetParent; + } + while (obj); + return y; +} + +function cmIsTRNode (obj) +{ + var tagName = obj.tagName; + return tagName == "TR" || tagName == "tr" || tagName == "Tr" || tagName == "tR"; +} + +// +// get the Y position of the object. In case of TR element though, +// we attempt to adjust the value. +// +function cmGetYAt (obj, elm) +{ + var y = 0; + + if (!obj.offsetHeight && cmIsTRNode (obj)) + { + var firstTR = obj.parentNode.firstChild; + obj = obj.firstChild; + y -= firstTR.firstChild.offsetTop; + } + + while (obj && obj != elm) + { + y += obj.offsetTop; + obj = obj.offsetParent; + } + + if (obj == elm) + return y; + return y - cmGetY (elm); +} + +// +// debug function, ignore :) +// +function cmGetProperties (obj) +{ + if (obj == undefined) + return 'undefined'; + if (obj == null) + return 'null'; + + var msg = obj + ':\n'; + var i; + for (i in obj) + msg += i + ' = ' + obj[i] + '; '; + return msg; +} + +/* JSCookMenu v1.4 1. fixed a minor td cell closure problem. Thanks to Georg Lorenz + for discovering that. + 2. added clickOpen to nodeProperties. See _cmNodeProperties for + description. Basically menus can be opened on click only. + 3. added an ability to draw menu from an html node instead of a javascript + tree, making this script search bot friendly (I hope?). +*/ +/* JSCookMenu v1.31 1. fix a bug on IE with causes submenus to display at the top + left corner due to doctype. The fix was provided by + Burton Strauss . +*/ +/* JSCookMenu v1.3 1. automatically realign (left and right) the submenu when + client space is not enough. + 2. add _cmNoClick to get rid of menu closing behavior + on the particular menu item, to make it possible for things + such as search box to be inside the menu. +*/ +/* JSCookMenu v1.25 1. fix Safari positioning issue. The problem is that all TR elements are located + at the top left corner. Thus, need to obtain the "virtual" + position of these element could be at. +*/ +/* JSCookMenu v1.24 1. fix window based control hiding bug + thanks to Felix Zaslavskiy for the fix. +*/ +/* JSCookMenu v1.23 1. correct a position bug when the container is positioned. + thanks to Andre for narrowing down + the problem. +*/ +/* JSCookMenu v1.22 1. change Array.push (obj) call to Array[length] = obj. + Suggestion from Dick van der Kaaden to + make the script compatible with IE 5.0 + 2. Changed theme files a little to add z-index: 100 for sub + menus. This change is necessary for Netscape to avoid + a display problem. + 3. some changes to the DOM structure to make this menu working + on Netscape 6.0 (tested). The main reason is that NN6 does + not do absolute positioning with tables. Therefore an extra + div layer must be put around the table. +*/ +/* JSCookMenu v1.21 1. fixed a bug that didn't add 'px' as part of coordinates. + JSCookMenu should be XHTML validator friendly now. + 2. removed unnecessary display attribute and corresponding + theme entry to fix a problem that Netscape sometimes + render Office theme incorrectly +*/ +/* JSCookMenu v1.2. 1. fix the problem of showing status in Netscape + 2. changed the handler parameters a bit to allow + string literals to be passed to javascript based + links + 3. having null in target field would cause the link + to be opened in the current window, but this behavior + could change in the future releases +*/ +/* JSCookMenu v1.1. added ability to hide controls in IE to show submenus properly */ +/* JSCookMenu v1.01. cmDraw generates XHTML code */ +/* JSCookMenu v1.0. (c) Copyright 2002 by Heng Yuan */ Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/JSCookMenu.js ------------------------------------------------------------------------------ svn:eol-style = native Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemeIE/theme.js URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemeIE/theme.js?rev=220003&view=auto ============================================================================== --- portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemeIE/theme.js (added) +++ portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemeIE/theme.js Wed Jul 20 23:18:02 2005 @@ -0,0 +1,46 @@ + +var cmThemeIEBase = 'content/images/ThemeIE/'; + +var cmThemeIE = +{ + // main menu display attributes + // + // Note. When the menu bar is horizontal, + // mainFolderLeft and mainFolderRight are + // put in . When the menu + // bar is vertical, they would be put in + // a separate TD cell. + + // HTML code to the left of the folder item + mainFolderLeft: '', + // HTML code to the right of the folder item + mainFolderRight: '', + // HTML code to the left of the regular item + mainItemLeft: '', + // HTML code to the right of the regular item + mainItemRight: '', + + // sub menu display attributes + + // HTML code to the left of the folder item + folderLeft: '', + // HTML code to the right of the folder item + folderRight: '', + // HTML code to the left of the regular item + itemLeft: '', + // HTML code to the right of the regular item + itemRight: '', + // cell spacing for main menu + mainSpacing: 0, + // cell spacing for sub menus + subSpacing: 0, + // auto dispear time for submenus in milli-seconds + delay: 100 +}; + +// horizontal split, used only in sub menus +var cmThemeIEHSplit = [_cmNoAction, '