You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by ct...@apache.org on 2008/04/08 01:27:58 UTC
svn commit: r645734 - in
/myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core:
desktop/ xhtml/ xhtml/table/
Author: ctoth
Date: Mon Apr 7 16:27:57 2008
New Revision: 645734
URL: http://svn.apache.org/viewvc?rev=645734&view=rev
Log:
TRINIDAD-951 Printable output mode produces javascript errors
Modified:
myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/desktop/TreeTableRenderer.java
myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/BodyRenderer.java
myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/ColumnGroupRenderer.java
myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/FormRenderer.java
myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/MessageBoxRenderer.java
myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/PanelPopupRenderer.java
myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/ShowDetailRenderer.java
myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/TableRenderer.java
myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/TreeRenderer.java
myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/table/TreeNodeColumnRenderer.java
Modified: myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/desktop/TreeTableRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/desktop/TreeTableRenderer.java?rev=645734&r1=645733&r2=645734&view=diff
==============================================================================
--- myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/desktop/TreeTableRenderer.java (original)
+++ myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/desktop/TreeTableRenderer.java Mon Apr 7 16:27:57 2008
@@ -168,7 +168,9 @@
super.encodeAll(context, arc, component, bean);
// have we rendered the script before?
- if (arc.getProperties().put(_JS_LIBS_KEY, Boolean.TRUE) == null)
+ // and are we not in printable mode (scripting disabled)?
+ if (arc.getProperties().put(_JS_LIBS_KEY, Boolean.TRUE) == null
+ && supportsScripting(arc))
{
ResponseWriter writer = context.getResponseWriter();
writer.startElement(XhtmlConstants.SCRIPT_ELEMENT, null);
@@ -250,7 +252,7 @@
boolean hasExpandAll = isExpandAllEnabled(component);
super.renderControlBarLinks(context, arc, tContext, component,
hasExpandAll || useDivider);
- if (hasExpandAll)
+ if (hasExpandAll && supportsScripting(arc)) //not in printable mode
{
// must render these IDs so that PPR can restore the focus correctly:
String preId = component.getClientId(context) + NamingContainer.SEPARATOR_CHAR;
Modified: myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/BodyRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/BodyRenderer.java?rev=645734&r1=645733&r2=645734&view=diff
==============================================================================
--- myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/BodyRenderer.java (original)
+++ myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/BodyRenderer.java Mon Apr 7 16:27:57 2008
@@ -33,7 +33,6 @@
import org.apache.myfaces.trinidad.context.RequestContext;
import org.apache.myfaces.trinidad.context.RenderingContext;
import org.apache.myfaces.trinidad.render.ExtendedRenderKitService;
-import org.apache.myfaces.trinidadinternal.renderkit.core.CoreRenderKit;
import org.apache.myfaces.trinidad.skin.Skin;
import org.apache.myfaces.trinidad.util.Service;
@@ -202,7 +201,7 @@
else
onload = toString(bean.getProperty(_onloadKey));
- String checkLoad;
+ String checkLoad = "";
//PH: Currently, if a browser supports PPR, _checkLoad function is called
//that sets initialFocus if set.For non-PPR browsers like blackBerry 4.0,
@@ -221,7 +220,10 @@
}
else
{
- checkLoad = "_checkLoadNoPPR()";
+ //HKuhn - in printable mode we don't need PPR checking
+ // Check only, if Agents supports Navigation or Editing
+ if (supportsNavigation(arc) || supportsEditing(arc))
+ checkLoad = "_checkLoadNoPPR()";
}
onload = XhtmlUtils.getChainedJS(checkLoad, onload, false);
Modified: myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/ColumnGroupRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/ColumnGroupRenderer.java?rev=645734&r1=645733&r2=645734&view=diff
==============================================================================
--- myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/ColumnGroupRenderer.java (original)
+++ myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/ColumnGroupRenderer.java Mon Apr 7 16:27:57 2008
@@ -453,7 +453,9 @@
// that the only reason desktop renders it in both places
// was for Netscape. If I'm right, then really this decision should
// be driven off an "event bubbling" agent property.
- if (!isPDA(arc))
+ // - HKuhn if printable mode (supportScripting is disabled),
+ // then no need for rendering onclick
+ if (!isPDA(arc) && supportsScripting(arc))
rw.writeAttribute("onclick", sortOnclick, null);
// TODO: we should pass in null for "event bubbling" systems
Modified: myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/FormRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/FormRenderer.java?rev=645734&r1=645733&r2=645734&view=diff
==============================================================================
--- myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/FormRenderer.java (original)
+++ myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/FormRenderer.java Mon Apr 7 16:27:57 2008
@@ -166,12 +166,16 @@
rw.writeAttribute("method", "POST", null);
- rw.writeAttribute("onkeypress",
+ //only render onkeypress if supports scripting (not in printable mode)
+ if (supportsScripting(arc))
+ {
+ rw.writeAttribute("onkeypress",
getFullOnkeypress(context,
comp,
bean,
formName),
"onkeypress");
+ }
// render the autocomplete attribute
if (supportsAutoCompleteFormElements(arc))
Modified: myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/MessageBoxRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/MessageBoxRenderer.java?rev=645734&r1=645733&r2=645734&view=diff
==============================================================================
--- myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/MessageBoxRenderer.java (original)
+++ myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/MessageBoxRenderer.java Mon Apr 7 16:27:57 2008
@@ -105,7 +105,7 @@
if (renderMsgBox)
{
- if (!isGlobalOnly && inlineValidation)
+ if (!isGlobalOnly && inlineValidation && supportsScripting(arc))
{
writer.startElement(XhtmlConstants.SCRIPT_ELEMENT, null);
renderScriptDeferAttribute(context, arc);
Modified: myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/PanelPopupRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/PanelPopupRenderer.java?rev=645734&r1=645733&r2=645734&view=diff
==============================================================================
--- myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/PanelPopupRenderer.java (original)
+++ myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/PanelPopupRenderer.java Mon Apr 7 16:27:57 2008
@@ -124,10 +124,10 @@
protected void encodeAll(FacesContext context, RenderingContext arc,
UIComponent component, FacesBean bean) throws IOException
{
- // Currently, we require scripting to render anything
+ //HKuhn - in printable mode (scripting is disabled) we need only the trigger
if (!supportsScripting(arc))
{
- _LOG.severe("Agent requires Script Support - unable to render.");
+ renderTrigger(context, arc, component, bean);
return;
}
Modified: myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/ShowDetailRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/ShowDetailRenderer.java?rev=645734&r1=645733&r2=645734&view=diff
==============================================================================
--- myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/ShowDetailRenderer.java (original)
+++ myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/ShowDetailRenderer.java Mon Apr 7 16:27:57 2008
@@ -346,13 +346,16 @@
RenderingContext arc,
String onclickString ) throws IOException
{
- if (!supportsNavigation(arc))
- return;
-
ResponseWriter rw = context.getResponseWriter();
- rw.startElement("a", null);
- rw.writeAttribute("onclick", onclickString, null);
- rw.writeURIAttribute("href", "#", null);
+ if (!supportsNavigation(arc)) {
+ rw.startElement("span", null);
+ }
+ else
+ {
+ rw.startElement("a", null);
+ rw.writeAttribute("onclick", onclickString, null);
+ rw.writeURIAttribute("href", "#", null);
+ }
}
private String _generateOnClickString(
@@ -413,10 +416,11 @@
FacesContext context,
RenderingContext arc) throws IOException
{
+ ResponseWriter rw = context.getResponseWriter();
if (!supportsNavigation(arc))
- return;
-
- context.getResponseWriter().endElement("a");
+ rw.endElement("span");
+ else
+ rw.endElement("a");
}
/**
Modified: myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/TableRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/TableRenderer.java?rev=645734&r1=645733&r2=645734&view=diff
==============================================================================
--- myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/TableRenderer.java (original)
+++ myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/TableRenderer.java Mon Apr 7 16:27:57 2008
@@ -391,17 +391,21 @@
formData.addNeededValue(XhtmlConstants.STATE_PARAM);
formData.addNeededValue(XhtmlConstants.VALUE_PARAM);
- rw.startElement(XhtmlConstants.SCRIPT_ELEMENT, null);
- renderScriptDeferAttribute(context, arc);
- // Bug #3426092:
- // render the type="text/javascript" attribute in accessibility mode
- renderScriptTypeAttribute(context, arc);
+ //HKuhn - no need for scripts in printable mode
+ if (supportsScripting(arc))
+ {
+ rw.startElement(XhtmlConstants.SCRIPT_ELEMENT, null);
+ renderScriptDeferAttribute(context, arc);
+ // Bug #3426092:
+ // render the type="text/javascript" attribute in accessibility mode
+ renderScriptTypeAttribute(context, arc);
- String formName = formData.getName();
+ String formName = formData.getName();
- rw.writeText(tContext.getJSVarName()+"="+
- TreeUtils.createNewJSCollectionComponentState(formName, tid)+";", null);
- rw.endElement(XhtmlConstants.SCRIPT_ELEMENT);
+ rw.writeText(tContext.getJSVarName()+"="+
+ TreeUtils.createNewJSCollectionComponentState(formName, tid)+";", null);
+ rw.endElement(XhtmlConstants.SCRIPT_ELEMENT);
+ }
}
int first = tContext.getCollectionComponent().getFirst();
Modified: myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/TreeRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/TreeRenderer.java?rev=645734&r1=645733&r2=645734&view=diff
==============================================================================
--- myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/TreeRenderer.java (original)
+++ myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/TreeRenderer.java Mon Apr 7 16:27:57 2008
@@ -192,26 +192,30 @@
leftToRight, (i == 0), (i == rootSize - 1), 0);
}
- rw.startElement("script", null);
- renderScriptDeferAttribute(context, rc);
- renderScriptTypeAttribute(context, rc);
+ //HKuhn - not needed in printable mode (scripting disabled)
+ if (supportsScripting(rc))
+ {
+ rw.startElement("script", null);
+ renderScriptDeferAttribute(context, rc);
+ renderScriptTypeAttribute(context, rc);
+
+ _renderTreeJS(context, rc, bean);
+
+ //out.writeText("_setNodes('"+name+"','"+nodesRendered+"');");
+
+ String selectedParam =
+ id + NamingContainer.SEPARATOR_CHAR + SELECTED_PARAM;
+
+ rw.writeText("var " + varName + " = " +
+ _createNewJSSelectionState(formName, id,
+ selectedParam), null);
+ rw.endElement("script");
- _renderTreeJS(context, rc, bean);
-
- //out.writeText("_setNodes('"+name+"','"+nodesRendered+"');");
-
- String selectedParam =
- id + NamingContainer.SEPARATOR_CHAR + SELECTED_PARAM;
-
- rw.writeText("var " + varName + " = " +
- _createNewJSSelectionState(formName, id,
- selectedParam), null);
- rw.endElement("script");
+ fd.addNeededValue(selectedParam);
+ }
rw.endElement("div");
- fd.addNeededValue(selectedParam);
fd.addNeededValue(_PATH_PARAM);
-
}
Modified: myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/table/TreeNodeColumnRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/table/TreeNodeColumnRenderer.java?rev=645734&r1=645733&r2=645734&view=diff
==============================================================================
--- myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/table/TreeNodeColumnRenderer.java (original)
+++ myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/table/TreeNodeColumnRenderer.java Mon Apr 7 16:27:57 2008
@@ -117,9 +117,12 @@
// disable the link's text decoration
renderStyleClass(context, arc,
SkinSelectors.AF_TREE_TABLE_EXPANSION_ICON_STYLE_CLASS);
-
- writer.writeAttribute("onclick", onclick, null);
- writer.writeURIAttribute("href", "#", null);
+ //HKuhn - don't render onclick in printable mode
+ if (XhtmlRenderer.supportsScripting(arc))
+ {
+ writer.writeAttribute("onclick", onclick, null);
+ writer.writeURIAttribute("href", "#", null);
+ }
// Render the expand/collapse Icon
_renderExpansionIcon(context, arc, disclosed, onclick);