You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by jw...@apache.org on 2007/05/24 03:02:09 UTC
svn commit: r541125 - in /myfaces/trinidad/trunk/trinidad/trinidad-impl/src:
main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/
main/java/org/apache/myfaces/trinidadinternal/ui/laf/base/xhtml/
test/resources/org/apache/myfaces/trinidad...
Author: jwaldman
Date: Wed May 23 18:02:08 2007
New Revision: 541125
URL: http://svn.apache.org/viewvc?view=rev&rev=541125
Log:
TRINIDAD-23
https://issues.apache.org/jira/browse/TRINIDAD-23
goButton on PDAs should be rendererd as a linked button and not a button
committed for Piyush Hari
Modified:
myfaces/trinidad/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/GoButtonRenderer.java
myfaces/trinidad/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/ui/laf/base/xhtml/XhtmlLafConstants.java
myfaces/trinidad/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/goButton-minimalPPC-golden.xml
Modified: myfaces/trinidad/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/GoButtonRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/GoButtonRenderer.java?view=diff&rev=541125&r1=541124&r2=541125
==============================================================================
--- myfaces/trinidad/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/GoButtonRenderer.java (original)
+++ myfaces/trinidad/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/GoButtonRenderer.java Wed May 23 18:02:08 2007
@@ -31,6 +31,7 @@
import org.apache.myfaces.trinidad.bean.PropertyKey;
import org.apache.myfaces.trinidad.component.core.nav.CoreGoButton;
import org.apache.myfaces.trinidad.context.RenderingContext;
+import org.apache.myfaces.trinidadinternal.ui.laf.base.xhtml.XhtmlLafConstants;
/**
* FIXME: the inheritance hierarchy is a bit annoying: should
@@ -74,14 +75,35 @@
// Make sure we don't have anything to save
assert(arc.getCurrentClientId() == null);
arc.setCurrentClientId(clientId);
-
- boolean useButtonTag = useButtonTags(arc);
- String element = useButtonTag ? "button" : "a";
+
+ String element;
+ boolean useButton;
+ boolean isFormElement = false;
+ if ((supportsScripting(arc) && supportsIntrinsicEvents(arc)))
+ {
+ if (supportsAdvancedForms(arc))
+ {
+ element = XhtmlLafConstants.BUTTON_ELEMENT;
+ }
+ else
+ {
+ element = XhtmlLafConstants.INPUT_ELEMENT;
+ isFormElement = true;
+ }
+
+ useButton = true;
+ }
+ else
+ {
+ element = XhtmlLafConstants.LINK_ELEMENT;
+ useButton = false;
+ }
+
ResponseWriter rw = context.getResponseWriter();
rw.startElement(element, component);
renderId(context, component);
boolean disabled = getDisabled(bean);
- if (useButtonTag)
+ if (useButton)
{
rw.writeAttribute("type", "button", null);
if (disabled)
@@ -100,7 +122,7 @@
else
{
renderAllAttributes(context, arc, bean);
- if (useButtonTag)
+ if (useButton)
{
rw.writeAttribute("onclick", getButtonOnclick(bean), null);
}
@@ -114,6 +136,7 @@
}
// Write the text and access key
+
char accessKey;
if (supportsAccessKeys(arc))
{
@@ -123,33 +146,36 @@
rw.writeAttribute("accesskey",
Character.valueOf(accessKey),
"accessKey");
- }
+ }
}
else
{
accessKey = CHAR_UNDEFINED;
}
- AccessKeyUtils.renderAccessKeyText(context,
- getText(bean),
- accessKey,
- SkinSelectors.AF_ACCESSKEY_STYLE_CLASS);
-
+ String text = getText(bean);
String icon = getIcon(bean);
- if (icon != null)
- OutputUtils.renderImage(context, arc, icon, null, null, null,
- getShortDesc(bean));
- rw.endElement(element);
- }
+ if(!isFormElement){
+ AccessKeyUtils.renderAccessKeyText(context,
+ text,
+ accessKey,
+ SkinSelectors.AF_ACCESSKEY_STYLE_CLASS);
+
+ if (icon != null)
+ OutputUtils.renderImage(context, arc, icon, null, null, null,
+ getShortDesc(bean));
+ }
+ else {
+ if (icon != null && text == null){
+ renderEncodedResourceURI(context, "src", icon);
+ }
+ else{
+ rw.writeAttribute("value", text, "text");
+ }
+ }
-
- protected boolean useButtonTags(RenderingContext arc)
- {
- return (supportsScripting(arc) &&
- supportsAdvancedForms(arc) &&
- supportsIntrinsicEvents(arc));
-
+ rw.endElement(element);
}
/**
@@ -181,37 +207,37 @@
//String inlineStyle = getInlineStyle(bean);
List<String> stateStyleClasses = getStateStyleClasses(context, arc, bean);
- if ((styleClass==null) &&
- (defaultStyleClass != null) &&
+ if ((styleClass==null) &&
+ (defaultStyleClass != null) &&
(stateStyleClasses == null))
{
renderStyleClass(context, arc, defaultStyleClass);
}
else
{
- int numStates = ((stateStyleClasses != null) ?
+ int numStates = ((stateStyleClasses != null) ?
stateStyleClasses.size() : 0);
int numClasses = ((styleClass != null) ? 1 : 0) +
((defaultStyleClass != null) ? 1 : 0) +
numStates;
if (numClasses > 0)
{
- // set all the styleClasses in one array so we can pass it to
+ // set all the styleClasses in one array so we can pass it to
// renderStyleClasses
String[] styleClasses = new String[numClasses];
-
+
int i=0;
if (styleClass != null)
styleClasses[i++] = styleClass;
if (defaultStyleClass != null)
styleClasses[i++] = defaultStyleClass;
-
+
for (int j=0; j < numStates; j++, i++)
{
styleClasses[i] = stateStyleClasses.get(j);
- }
+ }
- renderStyleClasses(context, arc, styleClasses);
+ renderStyleClasses(context, arc, styleClasses);
}
}
@@ -236,7 +262,7 @@
String destination = getDestination(bean);
if (destination == null)
return base;
-
+
destination = FacesContext.getCurrentInstance().
getExternalContext().encodeActionURL(destination);
String onclickJS = null;
@@ -244,7 +270,7 @@
if ((destination.length()) > 11 &&
"javascript:".equalsIgnoreCase(destination.substring(0,11)))
{
- onclickJS = destination.substring(11);
+ onclickJS = destination.substring(11);
}
else
{
Modified: myfaces/trinidad/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/ui/laf/base/xhtml/XhtmlLafConstants.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/ui/laf/base/xhtml/XhtmlLafConstants.java?view=diff&rev=541125&r1=541124&r2=541125
==============================================================================
--- myfaces/trinidad/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/ui/laf/base/xhtml/XhtmlLafConstants.java (original)
+++ myfaces/trinidad/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/ui/laf/base/xhtml/XhtmlLafConstants.java Wed May 23 18:02:08 2007
@@ -6,9 +6,9 @@
* to you 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
@@ -93,6 +93,7 @@
//
public static final String BREAK_ELEMENT = "br";
public static final String DIV_ELEMENT = "div";
+ public static final String BUTTON_ELEMENT = "button";
public static final String FORM_ELEMENT = "form";
public static final String IMAGE_ELEMENT = "img";
public static final String INPUT_ELEMENT = "input";
@@ -240,7 +241,7 @@
// outputLabel's styles
public static final String AF_OUTPUT_LABEL_STYLE_CLASS =
"af|outputLabel";
-
+
public static final String AF_PANEL_PAGE_MB_TEXT_STYLE_CLASS =
"af|panelPage::menu-buttons-text";
public static final String AF_PANEL_PAGE_MB_TEXT_SELECTED_STYLE_CLASS =
@@ -263,7 +264,7 @@
"af|panelFormLayout::content-cell";
public static final String AF_PANEL_FORM_MESSAGE_CELL_STYLE_CLASS =
"af|panelFormLayout::message-cell";
-
+
// Link style classes
public static final String LINK_STYLE_CLASS =
"OraLink";
@@ -521,7 +522,7 @@
// processTrain styles
public static final String AF_PROCESS_TRAIN_STYLE_CLASS =
- "af|train";
+ "af|train";
public static final String AF_PROCESS_TRAIN_ACTIVE_STYLE_CLASS =
"af|train::step-active";
public static final String AF_PROCESS_TRAIN_VISITED_STYLE_CLASS =
@@ -529,7 +530,7 @@
public static final String AF_PROCESS_TRAIN_UNVISITED_STYLE_CLASS =
"af|train::step-unvisited";
public static final String AF_PROCESS_TRAIN_LINK_STYLE_CLASS =
- "af|train::link";
+ "af|train::link";
public static final String AF_PROCESS_TRAIN_DISABLED_STYLE_CLASS =
"af|train::step-disabled";
public static final String AF_PROCESS_TRAIN_SUB_START_STYLE_CLASS =
@@ -647,7 +648,7 @@
public static final String AF_TREE_TABLE_MP_SELECTED_STYLE_CLASS =
"af|treeTable::path-selected-step";
public static final String AF_TREE_TABLE_MP_STEP_STYLE_CLASS =
- "af|treeTable::path-step";
+ "af|treeTable::path-step";
// ERROR/INFO STYLES
public static final String TIP_TEXT_STYLE_CLASS = "OraTipText";
@@ -1124,7 +1125,7 @@
"af|treeTable::prev-disabled-icon";
public static final String AF_TREE_TABLE_NB_NEXT_DISABLED_ICON_NAME =
"af|treeTable::next-disabled-icon";
-
+
// ChooseDate icons (chooseDate)
// Defined in OracleDesktopSkinExtension (same as SelectRange's) and XhtmlSkin
// (not the same as SelectRange's which is null)
Modified: myfaces/trinidad/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/goButton-minimalPPC-golden.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/goButton-minimalPPC-golden.xml?view=diff&rev=541125&r1=541124&r2=541125
==============================================================================
--- myfaces/trinidad/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/goButton-minimalPPC-golden.xml (original)
+++ myfaces/trinidad/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/goButton-minimalPPC-golden.xml Wed May 23 18:02:08 2007
@@ -1,227 +1,264 @@
<results>
- <a
+ <input
class="af_goButton"
- href="uri-attr:encoded-action-url:http://www.oracle.com"
+ onclick="document.location='encoded-action-url:http://www.oracle.com'"
+ type="button"
+ value="ButtonText"
id="uri-attr:mainId"
name="uri-attr:mainId"
>
- ButtonText
- </a>
+
+ </input>
<!--AttributeTest[accessKey,u]-->
- <a
+ <input
class="af_goButton"
- href="uri-attr:encoded-action-url:http://www.oracle.com"
+ onclick="document.location='encoded-action-url:http://www.oracle.com'"
+ type="button"
+ value="ButtonText"
id="uri-attr:mainId"
name="uri-attr:mainId"
>
- ButtonText
- </a>
+
+ </input>
<!--AttributeTest[disabled,false]-->
- <a
+ <input
class="af_goButton"
- href="uri-attr:encoded-action-url:http://www.oracle.com"
+ onclick="document.location='encoded-action-url:http://www.oracle.com'"
+ type="button"
+ value="ButtonText"
id="uri-attr:mainId"
name="uri-attr:mainId"
>
- ButtonText
- </a>
+
+ </input>
<!--AttributeTest[disabled,true]-->
- <a
+ <input
class="af_goButton p_AFDisabled"
- href="uri-attr:encoded-action-url:http://www.oracle.com"
+ disabled="disabled"
+ type="button"
+ value="ButtonText"
id="uri-attr:mainId"
name="uri-attr:mainId"
>
- ButtonText
- </a>
+
+ </input>
<!--AttributeTest[targetFrame,mytarget]-->
- <a
+ <input
class="af_goButton"
- href="uri-attr:encoded-action-url:http://www.oracle.com"
+ onclick="top[mytarget].location='encoded-action-url:http://www.oracle.com'"
+ type="button"
+ value="ButtonText"
id="uri-attr:mainId"
name="uri-attr:mainId"
>
- ButtonText
- </a>
+
+ </input>
<!--AttributeTest[id,myid]-->
- <a
+ <input
class="af_goButton"
- href="uri-attr:encoded-action-url:http://www.oracle.com"
+ onclick="document.location='encoded-action-url:http://www.oracle.com'"
+ type="button"
+ value="ButtonText"
id="uri-attr:myid"
name="uri-attr:myid"
>
- ButtonText
- </a>
+
+ </input>
<!--AttributeTest[shortDesc,my button]-->
- <a
+ <input
class="af_goButton"
+ onclick="document.location='encoded-action-url:http://www.oracle.com'"
title="my button"
- href="uri-attr:encoded-action-url:http://www.oracle.com"
+ type="button"
+ value="ButtonText"
id="uri-attr:mainId"
name="uri-attr:mainId"
>
- ButtonText
- </a>
+
+ </input>
<!--AttributeTest[styleClass,mystyle]-->
- <a
+ <input
class="mystyle af_goButton"
- href="uri-attr:encoded-action-url:http://www.oracle.com"
+ onclick="document.location='encoded-action-url:http://www.oracle.com'"
+ type="button"
+ value="ButtonText"
id="uri-attr:mainId"
name="uri-attr:mainId"
>
- ButtonText
- </a>
+
+ </input>
<!--AttributeTest[icon,/foo.gif]-->
- <a
+ <input
class="af_goButton"
- href="uri-attr:encoded-action-url:http://www.oracle.com"
+ onclick="document.location='encoded-action-url:http://www.oracle.com'"
+ type="button"
+ value="ButtonText"
id="uri-attr:mainId"
name="uri-attr:mainId"
>
- ButtonText
- <img
- src="uri-attr:encoded-resource-url:/test-context-path/foo.gif"
- >
-
- </img>
- </a>
+
+ </input>
<!--AttributeTest[onblur,null]-->
- <a
+ <input
class="af_goButton"
onblur="test-onblur"
- href="uri-attr:encoded-action-url:http://www.oracle.com"
+ onclick="document.location='encoded-action-url:http://www.oracle.com'"
+ type="button"
+ value="ButtonText"
id="uri-attr:mainId"
name="uri-attr:mainId"
>
- ButtonText
- </a>
+
+ </input>
<!--AttributeTest[onclick,null]-->
- <a
+ <input
class="af_goButton"
- href="uri-attr:encoded-action-url:http://www.oracle.com"
+ onclick="return _chain('test-onclick','document.location=\'encoded-action-url:http://www.oracle.com\'',this,event,true)"
+ type="button"
+ value="ButtonText"
id="uri-attr:mainId"
name="uri-attr:mainId"
>
- ButtonText
- </a>
+
+ </input>
<!--AttributeTest[ondblclick,null]-->
- <a
+ <input
class="af_goButton"
+ onclick="document.location='encoded-action-url:http://www.oracle.com'"
ondblclick="test-ondblclick"
- href="uri-attr:encoded-action-url:http://www.oracle.com"
+ type="button"
+ value="ButtonText"
id="uri-attr:mainId"
name="uri-attr:mainId"
>
- ButtonText
- </a>
+
+ </input>
<!--AttributeTest[onfocus,null]-->
- <a
+ <input
class="af_goButton"
+ onclick="document.location='encoded-action-url:http://www.oracle.com'"
onfocus="test-onfocus"
- href="uri-attr:encoded-action-url:http://www.oracle.com"
+ type="button"
+ value="ButtonText"
id="uri-attr:mainId"
name="uri-attr:mainId"
>
- ButtonText
- </a>
+
+ </input>
<!--AttributeTest[onkeydown,null]-->
- <a
+ <input
class="af_goButton"
+ onclick="document.location='encoded-action-url:http://www.oracle.com'"
onkeydown="test-onkeydown"
- href="uri-attr:encoded-action-url:http://www.oracle.com"
+ type="button"
+ value="ButtonText"
id="uri-attr:mainId"
name="uri-attr:mainId"
>
- ButtonText
- </a>
+
+ </input>
<!--AttributeTest[onkeypress,null]-->
- <a
+ <input
class="af_goButton"
+ onclick="document.location='encoded-action-url:http://www.oracle.com'"
onkeypress="test-onkeypress"
- href="uri-attr:encoded-action-url:http://www.oracle.com"
+ type="button"
+ value="ButtonText"
id="uri-attr:mainId"
name="uri-attr:mainId"
>
- ButtonText
- </a>
+
+ </input>
<!--AttributeTest[onkeyup,null]-->
- <a
+ <input
class="af_goButton"
+ onclick="document.location='encoded-action-url:http://www.oracle.com'"
onkeyup="test-onkeyup"
- href="uri-attr:encoded-action-url:http://www.oracle.com"
+ type="button"
+ value="ButtonText"
id="uri-attr:mainId"
name="uri-attr:mainId"
>
- ButtonText
- </a>
+
+ </input>
<!--AttributeTest[onmousedown,null]-->
- <a
+ <input
class="af_goButton"
+ onclick="document.location='encoded-action-url:http://www.oracle.com'"
onmousedown="test-onmousedown"
- href="uri-attr:encoded-action-url:http://www.oracle.com"
+ type="button"
+ value="ButtonText"
id="uri-attr:mainId"
name="uri-attr:mainId"
>
- ButtonText
- </a>
+
+ </input>
<!--AttributeTest[onmousemove,null]-->
- <a
+ <input
class="af_goButton"
+ onclick="document.location='encoded-action-url:http://www.oracle.com'"
onmousemove="test-onmousemove"
- href="uri-attr:encoded-action-url:http://www.oracle.com"
+ type="button"
+ value="ButtonText"
id="uri-attr:mainId"
name="uri-attr:mainId"
>
- ButtonText
- </a>
+
+ </input>
<!--AttributeTest[onmouseout,null]-->
- <a
+ <input
class="af_goButton"
+ onclick="document.location='encoded-action-url:http://www.oracle.com'"
onmouseout="test-onmouseout"
- href="uri-attr:encoded-action-url:http://www.oracle.com"
+ type="button"
+ value="ButtonText"
id="uri-attr:mainId"
name="uri-attr:mainId"
>
- ButtonText
- </a>
+
+ </input>
<!--AttributeTest[onmouseover,null]-->
- <a
+ <input
class="af_goButton"
+ onclick="document.location='encoded-action-url:http://www.oracle.com'"
onmouseover="test-onmouseover"
- href="uri-attr:encoded-action-url:http://www.oracle.com"
+ type="button"
+ value="ButtonText"
id="uri-attr:mainId"
name="uri-attr:mainId"
>
- ButtonText
- </a>
+
+ </input>
<!--AttributeTest[onmouseup,null]-->
- <a
+ <input
class="af_goButton"
+ onclick="document.location='encoded-action-url:http://www.oracle.com'"
onmouseup="test-onmouseup"
- href="uri-attr:encoded-action-url:http://www.oracle.com"
+ type="button"
+ value="ButtonText"
id="uri-attr:mainId"
name="uri-attr:mainId"
>
- ButtonText
- </a>
+
+ </input>
</results>