Index: openacs-4/packages/contacts/lib/contacts-master.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/contacts/lib/contacts-master.adp,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/contacts/lib/contacts-master.adp 10 Dec 2005 11:21:22 -0000 1.4
+++ openacs-4/packages/contacts/lib/contacts-master.adp 14 Jan 2007 15:52:56 -0000 1.5
@@ -12,7 +12,7 @@
@@ -25,6 +25,8 @@
+
+@js_script;noquote@
Index: openacs-4/packages/contacts/lib/contacts-master.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/contacts/lib/contacts-master.tcl,v
diff -u -r1.14 -r1.15
--- openacs-4/packages/contacts/lib/contacts-master.tcl 16 Dec 2006 11:27:19 -0000 1.14
+++ openacs-4/packages/contacts/lib/contacts-master.tcl 14 Jan 2007 15:52:56 -0000 1.15
@@ -14,41 +14,78 @@
set link_list [list]
lappend link_list "${package_url}"
lappend link_list "[_ contacts.Contacts]"
+lappend link_list "contacts"
+lappend link_list ""
if { ![parameter::get -boolean -parameter "ForceSearchBeforeAdd" -default "0"] } {
- lappend link_list "${package_url}add/employee"
- lappend link_list "[_ contacts.Add_Employee]"
+ set addlist [list [list [list "text" "[_ contacts.Add_Employee]"] [list "url" "${package_url}add/employee"] ] \
+ [list [list "text" "[_ contacts.Add_Person]"] [list "url" "${package_url}add/person"] ] \
+ [list [list "text" "[_ contacts.Add_Organization]"] [list "url" "${package_url}add/organization"] ] \
+ ]
+
+ ah::yui::menu_from_list -varname "oMenu1" \
+ -id "basicmenu1" \
+ -menulist $addlist \
+ -arrayname "yuimenu1" \
+ -options "context:new Array(\"menu1\",\"tl\",\"bl\")" \
+ -css "/resources/contacts/yuimenu/menu.css"
- lappend link_list "${package_url}add/person"
- lappend link_list "[_ contacts.Add_Person]"
+
+ set action_script1 $yuimenu1(show)
- lappend link_list "${package_url}add/organization"
- lappend link_list "[_ contacts.Add_Organization]"
+ lappend link_list "javascript:void(0)" ; # HREF
+ lappend link_list "[_ contacts.Add]" ; # Title
+ lappend link_list "menu1" ; # ID
+ lappend link_list "$action_script1" ; # Mouseover
}
-lappend link_list "${package_url}search"
-lappend link_list "[_ contacts.Advanced_Search]"
+set addlist [list [list [list "text" "[_ contacts.Advanced_Search]"] [list "url" "${package_url}search"] ] \
+ [list [list "text" "[_ contacts.Saved_Searches]"] [list "url" "${package_url}searches"] ] \
+ ]
-lappend link_list "${package_url}searches"
-lappend link_list "[_ contacts.Saved_Searches]"
+ah::yui::menu_from_list -varname "oMenu2" \
+ -id "basicmenu2" \
+ -menulist $addlist \
+ -arrayname "yuimenu2" \
+ -options "context:new Array(\"menu2\",\"tl\",\"bl\")" \
+ -css "/resources/contacts/yuimenu/menu.css"
+set action_script1 $yuimenu2(show)
+
+lappend link_list "javascript:void(0)" ; # HREF
+lappend link_list "[_ contacts.Search]" ; # Title
+lappend link_list "menu2" ; # ID
+lappend link_list "$action_script1" ; # Mouseover
+
+
# this should be taken care of by a callback...
if { [apm_package_enabled_p tasks] } {
lappend link_list "${package_url}tasks"
lappend link_list "[_ tasks.Tasks]"
+ lappend link_list "tasks"
+ lappend link_list ""
+
lappend link_list "${package_url}processes"
lappend link_list "[_ tasks.Processes]"
+ lappend link_list "processes"
+ lappend link_list ""
}
lappend link_list "${package_url}messages"
lappend link_list "[_ contacts.Messages]"
+lappend link_list "messages"
+lappend link_list ""
lappend link_list "${package_url}settings"
lappend link_list "[_ contacts.Settings]"
+lappend link_list "settings"
+lappend link_list ""
if { [permission::permission_p -object_id [ad_conn package_id] -privilege "admin"] } {
lappend link_list "${package_url}admin/"
lappend link_list "[_ contacts.Admin]"
+ lappend link_list "admin"
+ lappend link_list ""
}
@@ -57,10 +94,10 @@
set page_query [ad_conn query]
# Convert the list to a multirow and add the selected_p attribute
-multirow create links label url selected_p
+multirow create links label url id mouseover selected_p
set navbar {}
-foreach {url label} $link_list {
+foreach {url label id mouseover} $link_list {
set selected_p 0
if {[string equal $page_url $url]} {
@@ -72,7 +109,7 @@
}
}
lappend navbar [list [subst $url] $label]
- multirow append links $label [subst $url] $selected_p
+ multirow append links $label [subst $url] $id $mouseover $selected_p
}
if { [parameter::get -boolean -parameter "ForceSearchBeforeAdd" -default "0"] } {
@@ -89,4 +126,11 @@
} else {
set context [list $title]
}
+
+
+# Finalize the Javascript menus
+set js_script $yuimenu1(render)
+append js_script $yuimenu2(render)
+set js_script [ah::enclose_in_script -script ${js_script} ]
+
ad_return_template
Index: openacs-4/packages/contacts/www/resources/contacts.css
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/contacts/www/resources/contacts.css,v
diff -u -r1.14 -r1.15
--- openacs-4/packages/contacts/www/resources/contacts.css 2 Jun 2006 09:18:31 -0000 1.14
+++ openacs-4/packages/contacts/www/resources/contacts.css 14 Jan 2007 15:52:56 -0000 1.15
@@ -215,7 +215,6 @@
border-left: 1px solid #333;
margin: 0px 0px 10px 0px;
padding: 0px;
- text-transform: lowercase;
background: #CCC;
}
Index: openacs-4/packages/contacts/www/resources/yuimenu/menu.css
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/contacts/www/resources/yuimenu/menu.css,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/contacts/www/resources/yuimenu/menu.css 14 Jan 2007 15:52:56 -0000 1.1
@@ -0,0 +1,297 @@
+/*
+Copyright (c) 2006, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.com/yui/license.txt
+Version: 0.12.1
+*/
+
+
+
+/* Menu styles */
+
+div.yuimenu {
+
+ background-color:#ccc;
+ border:solid 1px #c4c4be;
+ padding:1px;
+
+}
+
+/* Submenus are positioned absolute and hidden by default */
+
+div.yuimenu div.yuimenu,
+div.yuimenubar div.yuimenu {
+
+ position:absolute;
+ visibility:hidden;
+
+}
+
+/* MenuBar Styles */
+
+div.yuimenubar {
+
+ background-color:#f6f7ee;
+
+}
+
+/*
+ Applying a width triggers "haslayout" in IE so that the module's
+ body clears its floated elements
+*/
+div.yuimenubar div.bd {
+
+ width:100%;
+
+}
+
+/*
+ Clear the module body for other browsers
+*/
+div.yuimenubar div.bd:after {
+
+ content:'.';
+ display:block;
+ clear:both;
+ visibility:hidden;
+ height:0;
+
+}
+
+
+/* Matches the group title (H6) inside a Menu or MenuBar instance */
+
+div.yuimenu h6,
+div.yuimenubar h6 {
+
+ font-size:100%;
+ font-weight:normal;
+ margin:0;
+ border:solid 1px #c4c4be;
+ color:#b9b9b9;
+
+}
+
+div.yuimenubar h6 {
+
+ float:left;
+ display:inline; /* Prevent margin doubling in IE */
+ padding:4px 12px;
+ border-width:0 1px 0 0;
+
+}
+
+div.yuimenu h6 {
+
+ float:none;
+ display:block;
+ border-width:1px 0 0 0;
+ padding:5px 10px 0 10px;
+
+}
+
+
+/* Matches the UL inside a Menu or MenuBar instance */
+
+div.yuimenubar ul {
+
+ list-style-type:none;
+ margin:0;
+ padding:0;
+
+}
+
+div.yuimenu ul {
+
+ list-style-type:none;
+ border:solid 1px #c4c4be;
+ border-width:1px 0 0 0;
+ margin:0;
+ padding:10px 0;
+
+}
+
+
+div.yuimenu ul.first-of-type,
+div.yuimenu ul.hastitle,
+div.yuimenu h6.first-of-type {
+
+ border-width:0;
+
+}
+
+
+/* MenuItem and MenuBarItem styles */
+
+div.yuimenu li,
+div.yuimenubar li {
+
+ font-size:85%;
+ cursor:pointer;
+ cursor:hand;
+ white-space:nowrap;
+ text-align:left;
+
+}
+
+div.yuimenu li.yuimenuitem {
+
+ padding:2px 24px;
+
+}
+
+div.yuimenu li li,
+div.yuimenubar li li {
+
+ font-size:100%;
+
+}
+
+
+/* Matches the help text for a menu item */
+
+div.yuimenu li em {
+
+ font-style:normal;
+ margin:0 0 0 40px;
+
+}
+
+div.yuimenu li a em {
+
+ margin:0;
+
+}
+
+div.yuimenu li a,
+div.yuimenubar li a {
+
+ /*
+ "zoom:1" triggers "haslayout" in IE to ensure that the mouseover and
+ mouseout events bubble to the parent LI in IE.
+ */
+ zoom:1;
+ color:#000;
+ text-decoration:none;
+
+}
+
+div.yuimenu li.hassubmenu,
+div.yuimenu li.hashelptext {
+
+ text-align:right;
+
+}
+
+div.yuimenu li.hassubmenu a.hassubmenu,
+div.yuimenu li.hashelptext a.hashelptext {
+
+ float:left;
+ display:inline; /* Prevent margin doubling in IE */
+ text-align:left;
+
+}
+
+
+/* Matches focused and selected menu items */
+
+div.yuimenu li.selected,
+div.yuimenubar li.selected {
+
+ background-color:#8c8ad0;
+
+}
+
+div.yuimenu li.selected a.selected,
+div.yuimenubar li.selected a.selected {
+
+ text-decoration:underline;
+
+}
+
+div.yuimenu li.selected a.selected,
+div.yuimenu li.selected em.selected,
+div.yuimenubar li.selected a.selected {
+
+ color:#fff;
+
+}
+
+
+/* Matches disabled menu items */
+
+div.yuimenu li.disabled,
+div.yuimenubar li.disabled {
+
+ cursor:default;
+
+}
+
+div.yuimenu li.disabled a.disabled,
+div.yuimenu li.disabled em.disabled,
+div.yuimenubar li.disabled a.disabled {
+
+ color:#b9b9b9;
+ cursor:default;
+
+}
+
+div.yuimenubar li.yuimenubaritem {
+
+ float:left;
+ display:inline; /* Prevent margin doubling in IE */
+ border-width:0 0 0 1px;
+ border-style:solid;
+ border-color:#c4c4be;
+ padding:4px 24px;
+ margin:0;
+
+}
+
+div.yuimenubar li.yuimenubaritem.first-of-type {
+
+ border-width:0;
+
+}
+
+
+/* Matches the submenu indicator for menu items */
+
+div.yuimenubar li.yuimenubaritem img {
+
+ height:8px;
+ width:8px;
+ margin:0 0 0 10px;
+ vertical-align:middle;
+
+}
+
+div.yuimenu li.yuimenuitem img {
+
+ height:8px;
+ width:8px;
+ margin:0 -16px 0 0;
+ padding-left:10px;
+ border:0;
+
+}
+
+div.yuimenu li.checked {
+
+ position:relative;
+
+}
+
+div.yuimenu li.checked img.checked {
+
+ height:8px;
+ width:8px;
+ margin:0;
+ padding:0;
+ border:0;
+ position:absolute;
+ left:6px;
+ _left:-16px; /* Underscore hack b/c this is for IE 6 only */
+ top:.5em;
+
+}
\ No newline at end of file