Author: Alex.Kolonitsky
Date: 2009-03-30 05:08:16 -0400 (Mon, 30 Mar 2009)
New Revision: 13281
Modified:
trunk/ui/componentControl/src/main/config/component/componentControl.xml
trunk/ui/componentControl/src/main/java/org/richfaces/component/UIComponentControl.java
trunk/ui/contextMenu/src/main/config/component/contextMenu.xml
trunk/ui/contextMenu/src/main/java/org/richfaces/component/UIContextMenu.java
Log:
https://jira.jboss.org/jira/browse/RF-6275
This fix should be done in contextMenu and not in componentControl
Modified: trunk/ui/componentControl/src/main/config/component/componentControl.xml
===================================================================
--- trunk/ui/componentControl/src/main/config/component/componentControl.xml 2009-03-30
08:42:21 UTC (rev 13280)
+++ trunk/ui/componentControl/src/main/config/component/componentControl.xml 2009-03-30
09:08:16 UTC (rev 13281)
@@ -37,7 +37,6 @@
<description>
Disable default action for target event ( append "return false;" to
JavaScript )
</description>
-
<defaultvalue><![CDATA[getEvent().equalsIgnoreCase("onContextMenu")]]></defaultvalue>
</property>
<property>
<name>event</name>
Modified:
trunk/ui/componentControl/src/main/java/org/richfaces/component/UIComponentControl.java
===================================================================
---
trunk/ui/componentControl/src/main/java/org/richfaces/component/UIComponentControl.java 2009-03-30
08:42:21 UTC (rev 13280)
+++
trunk/ui/componentControl/src/main/java/org/richfaces/component/UIComponentControl.java 2009-03-30
09:08:16 UTC (rev 13281)
@@ -21,9 +21,7 @@
package org.richfaces.component;
-import javax.el.ELException;
import javax.el.ValueExpression;
-import javax.faces.FacesException;
import javax.faces.component.UIComponent;
import javax.faces.component.UIComponentBase;
import javax.faces.component.UIParameter;
@@ -44,8 +42,8 @@
* JSF component class
*
*/
-public abstract class UIComponentControl extends UIComponentBase implements
- AjaxSupport {
+public abstract class UIComponentControl extends UIComponentBase
+ implements AjaxSupport {
public static final String COMPONENT_TYPE =
"org.richfaces.ComponentControl";
@@ -53,19 +51,6 @@
private static final Log log = LogFactory.getLog(UIComponentControl.class);
- /*
- * Disable default action for target event ( append "return false;" to
- * JavaScript )
- */
- public static final String DISABLE_DEFAULT = "disableDefault";
-
- private boolean disableDefault = false;
-
- private boolean disableDefaultSet = false;
-
- public static final String ON_CONTEXT_MENU = "onContextMenu";
-
-
/**
* @return JavaScript eventString. Rebuild on every call, since can be in
* loop ( as in dataTable ) with different parameters.
@@ -212,46 +197,4 @@
public abstract void setAttachTiming(String attachTiming);
public abstract String getAttachTiming();
-
- public boolean isDisableDefault() {
- if (this.disableDefaultSet) {
- return ON_CONTEXT_MENU.equalsIgnoreCase(getEvent());
- }
-
- ValueExpression ve = getValueExpression(DISABLE_DEFAULT);
- if (ve != null) {
- try {
- Boolean value = (Boolean) ve.getValue(getFacesContext().getELContext());
- if (value != null) {
- return value;
- }
- } catch (ELException e) {
- throw new FacesException(e);
- }
- }
-
- return this.disableDefault;
- }
-
- public void setDisableDefault(boolean disableDefault) {
- this.disableDefault = disableDefault;
- this.disableDefaultSet = true;
- }
-
- @Override
- public Object saveState(FacesContext context) {
- Object[] state = new Object[9];
- state[0] = super.saveState(context);
- state[1] = disableDefault;
- state[2] = disableDefaultSet;
- return state;
- }
-
- @Override
- public void restoreState(FacesContext context, Object state) {
- Object[] states = (Object[]) state;
- super.restoreState(context, states[0]);
- disableDefault = (Boolean) states[1];
- disableDefaultSet = (Boolean) states[2];
- }
}
Modified: trunk/ui/contextMenu/src/main/config/component/contextMenu.xml
===================================================================
--- trunk/ui/contextMenu/src/main/config/component/contextMenu.xml 2009-03-30 08:42:21 UTC
(rev 13280)
+++ trunk/ui/contextMenu/src/main/config/component/contextMenu.xml 2009-03-30 09:08:16 UTC
(rev 13281)
@@ -58,7 +58,7 @@
<description>
Forbids default handling for adjusted event. Default value
"true".
</description>
- <defaultvalue>false</defaultvalue>
+
<defaultvalue><![CDATA[getEvent().equalsIgnoreCase("onContextMenu")]]></defaultvalue>
</property>
<property>
<name>showDelay</name>
Modified: trunk/ui/contextMenu/src/main/java/org/richfaces/component/UIContextMenu.java
===================================================================
---
trunk/ui/contextMenu/src/main/java/org/richfaces/component/UIContextMenu.java 2009-03-30
08:42:21 UTC (rev 13280)
+++
trunk/ui/contextMenu/src/main/java/org/richfaces/component/UIContextMenu.java 2009-03-30
09:08:16 UTC (rev 13281)
@@ -21,7 +21,11 @@
package org.richfaces.component;
+import javax.el.ELException;
+import javax.el.ValueExpression;
+import javax.faces.FacesException;
import javax.faces.component.UIComponentBase;
+import javax.faces.context.FacesContext;
/**
* @author Maksim Kaszynski
@@ -30,27 +34,66 @@
public abstract class UIContextMenu extends UIComponentBase implements MenuComponent {
public static final String COMPONENT_TYPE = "org.richfaces.ContextMenu";
+ public static final String ON_CONTEXT_MENU = "onContextMenu";
+ public static final String DISABLE_DEFAULT_MENU = "disableDefaultMenu";
+
+ private boolean disableDefaultMenu = false;
+ private boolean disableDefaultMenuSet = false;
+
public abstract boolean isAttached();
-
public abstract void setAttached(boolean b);
-
+
public abstract String getAttachTo();
-
public abstract void setAttachTo(String attachTo);
public abstract String getAttachTiming();
-
public abstract void setAttachTiming(String attachTo);
public abstract String getEvent();
-
public abstract void setEvent(String event);
- public abstract boolean isDisableDefaultMenu();
-
- public abstract void setDisableDefaultMenu(boolean b);
-
public abstract void setShowDelay(Integer showDelay);
public abstract Integer getShowDelay();
+ public boolean isDisableDefaultMenu() {
+ if (this.disableDefaultMenuSet) {
+ return ON_CONTEXT_MENU.equalsIgnoreCase(getEvent());
+ }
+
+ ValueExpression ve = getValueExpression(DISABLE_DEFAULT_MENU);
+ if (ve != null) {
+ try {
+ Boolean value = (Boolean) ve.getValue(getFacesContext().getELContext());
+ if (value != null) {
+ return value;
+ }
+ } catch (ELException e) {
+ throw new FacesException(e);
+ }
+ }
+
+ return this.disableDefaultMenu;
+ }
+
+ public void setDisableDefaultMenu(boolean disableDefault) {
+ this.disableDefaultMenu = disableDefault;
+ this.disableDefaultMenuSet = true;
+ }
+
+ @Override
+ public Object saveState(FacesContext context) {
+ Object[] state = new Object[9];
+ state[0] = super.saveState(context);
+ state[1] = isDisableDefaultMenu();
+ state[2] = disableDefaultMenuSet;
+ return state;
+ }
+
+ @Override
+ public void restoreState(FacesContext context, Object state) {
+ Object[] states = (Object[]) state;
+ super.restoreState(context, states[0]);
+ disableDefaultMenu = (Boolean) states[1];
+ disableDefaultMenuSet = (Boolean) states[2];
+ }
}