Author: maksimkaszynski
Date: 2007-11-13 14:46:23 -0500 (Tue, 13 Nov 2007)
New Revision: 3972
Added:
trunk/ui/menu-components/src/main/resources/org/richfaces/renderkit/html/css/dropdownmenu.xcss
trunk/ui/menu-components/src/main/resources/org/richfaces/renderkit/html/scripts/
Removed:
trunk/ui/dropdown-menu/src/main/resources/org/richfaces/renderkit/html/css/dropdownmenu.xcss
trunk/ui/dropdown-menu/src/main/resources/org/richfaces/renderkit/html/scripts/
Modified:
trunk/sandbox/samples/contextMenuDemo/
trunk/sandbox/samples/contextMenuDemo/pom.xml
trunk/sandbox/samples/contextMenuDemo/src/main/webapp/pages/index.jsp
trunk/sandbox/ui/contextMenu/src/main/java/org/richfaces/renderkit/html/ContextMenuRendererDelegate.java
trunk/ui/menu-components/src/main/java/org/richfaces/renderkit/html/MenuItemRendererBase.java
trunk/ui/menu-components/src/main/resources/org/richfaces/renderkit/html/scripts/menu.js
Log:
Context menu first demo.
Slight refactoring of DropDown menu
Property changes on: trunk/sandbox/samples/contextMenuDemo
___________________________________________________________________
Name: svn:ignore
- target
+ target
.classpath
.project
.settings
Modified: trunk/sandbox/samples/contextMenuDemo/pom.xml
===================================================================
--- trunk/sandbox/samples/contextMenuDemo/pom.xml 2007-11-13 19:09:56 UTC (rev 3971)
+++ trunk/sandbox/samples/contextMenuDemo/pom.xml 2007-11-13 19:46:23 UTC (rev 3972)
@@ -25,7 +25,12 @@
<groupId>org.richfaces.ui</groupId>
<artifactId>dataTable</artifactId>
<version>3.2.0-SNAPSHOT</version>
- </dependency>
+ </dependency>
+ <dependency>
+ <groupId>org.richfaces.ui</groupId>
+ <artifactId>contextMenu</artifactId>
+ <version>3.2.0-SNAPSHOT</version>
+ </dependency>
</dependencies>
<build>
<finalName>contextMenuDemo</finalName>
Modified: trunk/sandbox/samples/contextMenuDemo/src/main/webapp/pages/index.jsp
===================================================================
--- trunk/sandbox/samples/contextMenuDemo/src/main/webapp/pages/index.jsp 2007-11-13
19:09:56 UTC (rev 3971)
+++ trunk/sandbox/samples/contextMenuDemo/src/main/webapp/pages/index.jsp 2007-11-13
19:46:23 UTC (rev 3972)
@@ -22,8 +22,8 @@
<f:view>
<h:form>
<h:panelGroup id="outputText">
- <h:outputText value="xXx" />
- <cm:contextMenu >
+ <h:outputText value="Right Click Here" />
+ <cm:contextMenu submitMode="none">
<mc:menuItem id="menuItem11" value="Active11:
ajax" submitMode="ajax" />
<mc:menuItem id="menuItem12" value="Active12"
immediate="true"/>
<mc:menuItem id="menuItem14"
value="Active14"/>
Modified:
trunk/sandbox/ui/contextMenu/src/main/java/org/richfaces/renderkit/html/ContextMenuRendererDelegate.java
===================================================================
---
trunk/sandbox/ui/contextMenu/src/main/java/org/richfaces/renderkit/html/ContextMenuRendererDelegate.java 2007-11-13
19:09:56 UTC (rev 3971)
+++
trunk/sandbox/ui/contextMenu/src/main/java/org/richfaces/renderkit/html/ContextMenuRendererDelegate.java 2007-11-13
19:46:23 UTC (rev 3972)
@@ -77,7 +77,7 @@
function.addParameter(component.getParent().getClientId(context));
String evt = (String) component.getAttributes().get("event");
if(evt == null || evt.trim().length() == 0){
- evt = "onmouseover";
+ evt = "oncontextmenu";
}
function.addParameter(evt);
function.addParameter("onmouseout");
Deleted:
trunk/ui/dropdown-menu/src/main/resources/org/richfaces/renderkit/html/css/dropdownmenu.xcss
===================================================================
---
trunk/ui/dropdown-menu/src/main/resources/org/richfaces/renderkit/html/css/dropdownmenu.xcss 2007-11-13
19:09:56 UTC (rev 3971)
+++
trunk/ui/dropdown-menu/src/main/resources/org/richfaces/renderkit/html/css/dropdownmenu.xcss 2007-11-13
19:46:23 UTC (rev 3972)
@@ -1,92 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<f:template
xmlns:f='http:/jsf.exadel.com/template'
-
xmlns:u='http:/jsf.exadel.com/template/util'
-
xmlns="http://www.w3.org/1999/xhtml" >
-
-<f:verbatim><![CDATA[
-
-
-.dr-menu-list-border {
- border : 1px solid;
- float : left;
- position : absolute;
-}
-.dr-menu-list-bg {
- border-top-style : solid;
- border-left-style : solid;
- border-right-style : solid;
-
- border-top-width : 1px;
- border-left-width : 1px;
- border-right-width : 1px;
-
- background : repeat-y left;
-}
-.dr-menu-label {
- left: 0px;
- top: 0px;
- padding : 2px 5px 2px 5px;
- white-space : nowrap;
- width : auto;
- height : auto;
-}
-.dr-menu-label-unselect {
- border : 0px solid transparent;
- padding : 3px 6px;
-}
-.dr-menu-label-select {
- border : 1px solid;
- cursor : pointer;
-}
-
-.dr-menu-list-strut {
- font-size : 0px;
- border: 0px;
- margin : 0px;
- position: relative;
-}
-
-.underneath_iframe{
- position: absolute;
- z-index: 90;
- visibility:hidden;
- left:0px;
- top:0px;
- height:1px;
- width:1px;
-}
-
-]]>
-
-</f:verbatim>
-
-<u:selector name=".dr-label-text-decor">
- <u:style name="font-weight" skin="headerWeightFont" />
-</u:selector>
-
-<u:selector name=".dr-menu-list-border">
- <u:style name="border-color" skin="panelBorderColor" />
- <u:style name="background-color" skin="additionalBackgroundColor"
/>
-</u:selector>
-
-<u:selector name=".dr-menu-list-bg">
- <u:style name="background-image">
- <f:resource
f:key="org.richfaces.renderkit.html.images.background.MenuListBackground"/>
- </u:style>
- <u:style name="border-top-color" skin="additionalBackgroundColor"
/>
- <u:style name="border-left-color"
skin="additionalBackgroundColor" />
- <u:style name="border-right-color"
skin="additionalBackgroundColor" />
-</u:selector>
-
-<u:selector name=".dr-menu-label">
- <u:style name="font-family" skin="generalFamilyFont" />
- <u:style name="font-size" skin="generalSizeFont" />
-</u:selector>
-
-<u:selector name=".dr-menu-label-select">
- <u:style name="border-color" skin="panelBorderColor" />
- <u:style name="background-color" skin="controlBackgroundColor"
/>
- <u:style name="color" skin="generalTextColor" />
-</u:selector>
-
-</f:template>
Modified:
trunk/ui/menu-components/src/main/java/org/richfaces/renderkit/html/MenuItemRendererBase.java
===================================================================
---
trunk/ui/menu-components/src/main/java/org/richfaces/renderkit/html/MenuItemRendererBase.java 2007-11-13
19:09:56 UTC (rev 3971)
+++
trunk/ui/menu-components/src/main/java/org/richfaces/renderkit/html/MenuItemRendererBase.java 2007-11-13
19:46:23 UTC (rev 3972)
@@ -151,10 +151,10 @@
StringBuffer scriptValue = new StringBuffer();
String mode = resolveSubmitMode(menuItem);
- if (mode.equalsIgnoreCase(MenuComponent.MODE_AJAX)) {
+ if (MenuComponent.MODE_AJAX.equalsIgnoreCase(mode)) {
scriptValue.append(AjaxRendererUtils.buildOnClick(
menuItem, context).toString());
- } else if (mode.equalsIgnoreCase(MenuComponent.MODE_SERVER)) {
+ } else if (MenuComponent.MODE_SERVER.equalsIgnoreCase(mode)) {
String id = menuItem.getClientId(context);
Copied:
trunk/ui/menu-components/src/main/resources/org/richfaces/renderkit/html/css/dropdownmenu.xcss
(from rev 3958,
trunk/ui/dropdown-menu/src/main/resources/org/richfaces/renderkit/html/css/dropdownmenu.xcss)
===================================================================
---
trunk/ui/menu-components/src/main/resources/org/richfaces/renderkit/html/css/dropdownmenu.xcss
(rev 0)
+++
trunk/ui/menu-components/src/main/resources/org/richfaces/renderkit/html/css/dropdownmenu.xcss 2007-11-13
19:46:23 UTC (rev 3972)
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<f:template
xmlns:f='http:/jsf.exadel.com/template'
+
xmlns:u='http:/jsf.exadel.com/template/util'
+
xmlns="http://www.w3.org/1999/xhtml" >
+
+<f:verbatim><![CDATA[
+
+
+.dr-menu-list-border {
+ border : 1px solid;
+ float : left;
+ position : absolute;
+}
+.dr-menu-list-bg {
+ border-top-style : solid;
+ border-left-style : solid;
+ border-right-style : solid;
+
+ border-top-width : 1px;
+ border-left-width : 1px;
+ border-right-width : 1px;
+
+ background : repeat-y left;
+}
+.dr-menu-label {
+ left: 0px;
+ top: 0px;
+ padding : 2px 5px 2px 5px;
+ white-space : nowrap;
+ width : auto;
+ height : auto;
+}
+.dr-menu-label-unselect {
+ border : 0px solid transparent;
+ padding : 3px 6px;
+}
+.dr-menu-label-select {
+ border : 1px solid;
+ cursor : pointer;
+}
+
+.dr-menu-list-strut {
+ font-size : 0px;
+ border: 0px;
+ margin : 0px;
+ position: relative;
+}
+
+.underneath_iframe{
+ position: absolute;
+ z-index: 90;
+ visibility:hidden;
+ left:0px;
+ top:0px;
+ height:1px;
+ width:1px;
+}
+
+]]>
+
+</f:verbatim>
+
+<u:selector name=".dr-label-text-decor">
+ <u:style name="font-weight" skin="headerWeightFont" />
+</u:selector>
+
+<u:selector name=".dr-menu-list-border">
+ <u:style name="border-color" skin="panelBorderColor" />
+ <u:style name="background-color" skin="additionalBackgroundColor"
/>
+</u:selector>
+
+<u:selector name=".dr-menu-list-bg">
+ <u:style name="background-image">
+ <f:resource
f:key="org.richfaces.renderkit.html.images.background.MenuListBackground"/>
+ </u:style>
+ <u:style name="border-top-color" skin="additionalBackgroundColor"
/>
+ <u:style name="border-left-color"
skin="additionalBackgroundColor" />
+ <u:style name="border-right-color"
skin="additionalBackgroundColor" />
+</u:selector>
+
+<u:selector name=".dr-menu-label">
+ <u:style name="font-family" skin="generalFamilyFont" />
+ <u:style name="font-size" skin="generalSizeFont" />
+</u:selector>
+
+<u:selector name=".dr-menu-label-select">
+ <u:style name="border-color" skin="panelBorderColor" />
+ <u:style name="background-color" skin="controlBackgroundColor"
/>
+ <u:style name="color" skin="generalTextColor" />
+</u:selector>
+
+</f:template>
Copied: trunk/ui/menu-components/src/main/resources/org/richfaces/renderkit/html/scripts
(from rev 3958,
trunk/ui/dropdown-menu/src/main/resources/org/richfaces/renderkit/html/scripts)
Modified:
trunk/ui/menu-components/src/main/resources/org/richfaces/renderkit/html/scripts/menu.js
===================================================================
---
trunk/ui/dropdown-menu/src/main/resources/org/richfaces/renderkit/html/scripts/menu.js 2007-11-13
16:41:29 UTC (rev 3958)
+++
trunk/ui/menu-components/src/main/resources/org/richfaces/renderkit/html/scripts/menu.js 2007-11-13
19:46:23 UTC (rev 3972)
@@ -315,6 +315,7 @@
if (!e) {
e = window.event;
}
+ Event.stop(e);
this.event = e;
this.element = Event.element(e);
this.layer = $(layer);
@@ -682,17 +683,20 @@
this.items = new Array();
RichFaces.Menu.Layers.layers[id] = this;
this.bindings = new Array();
+
+ //Usually set on DD menu to true
+ this.highlightParent = true;
+
-
-
this.mouseover =
function(e){
RichFaces.Menu.MouseIn=true;
RichFaces.Menu.Layers.clearLMTO();
+ if (this.highlightParent) {
+ var menuNode =
RichFaces.Menu.Layers.layers[this.layer.id].layer.parentNode.parentNode;
+ menuNode.className='dr-menu-label dr-menu-label-select rich-ddmenu-label
rich-ddmenu-label-select';
+ }
- var menuNode =
RichFaces.Menu.Layers.layers[this.layer.id].layer.parentNode.parentNode;
- menuNode.className='dr-menu-label dr-menu-label-select rich-ddmenu-label
rich-ddmenu-label-select';
-
Event.stop(e);
}.bindAsEventListener(this);
@@ -702,9 +706,10 @@
if (!RichFaces.Menu.selectOpen) {
RichFaces.Menu.Layers.setLMTO(this.hideDelay);
}
+ if (this.highlightParent) {
var menuNode =
RichFaces.Menu.Layers.layers[this.layer.id].layer.parentNode.parentNode;
menuNode.className='dr-menu-label dr-menu-label-unselect rich-ddmenu-label
rich-ddmenu-label-unselect';
-
+ }
Event.stop(e);
}.bindAsEventListener(this);
@@ -1070,7 +1075,10 @@
asContextMenu: function(parent, evt){
var refLayer = $(parent);
if(!refLayer) return this;
+
+
var id = this.id;
+ this.highlightParent = false;
if(!evt){
evt = 'onclick';
}
@@ -1091,6 +1099,7 @@
binding = new RichFaces.Menu.Layer.Binding (parent, offEvt, onmouseout);
this.bindings.push(binding);
binding.refresh();
+
return this;
},
eventJsToPrototype: function(evtName){