Author: Alex.Kolonitsky
Date: 2009-03-05 13:01:37 -0500 (Thu, 05 Mar 2009)
New Revision: 12848
Added:
trunk/samples/togglePanel-sample/src/main/webapp/pages/rf6451.jsp
Modified:
trunk/framework/impl/src/main/java/org/richfaces/component/UISwitchablePanel.java
trunk/samples/togglePanel-sample/src/main/java/org/richfaces/Bean.java
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/toggleControl/toggleControlAutoTest.xhtml
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/AutoTester.java
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/ToggleControlTest.java
trunk/ui/togglePanel/src/main/java/org/richfaces/component/UIToggleControl.java
trunk/ui/togglePanel/src/main/java/org/richfaces/renderkit/html/ToggleControlRenderer.java
Log:
ToggleControl: process attribute doesn't work
https://jira.jboss.org/jira/browse/RF-6451
Modified:
trunk/framework/impl/src/main/java/org/richfaces/component/UISwitchablePanel.java
===================================================================
---
trunk/framework/impl/src/main/java/org/richfaces/component/UISwitchablePanel.java 2009-03-05
17:31:24 UTC (rev 12847)
+++
trunk/framework/impl/src/main/java/org/richfaces/component/UISwitchablePanel.java 2009-03-05
18:01:37 UTC (rev 12848)
@@ -34,6 +34,7 @@
import javax.faces.event.PhaseId;
import javax.faces.event.ValueChangeEvent;
+import org.ajax4jsf.context.AjaxContext;
import org.ajax4jsf.renderkit.AjaxRendererUtils;
import org.richfaces.event.SwitchablePanelSwitchEvent;
@@ -133,8 +134,11 @@
setValue(newValue);
}
- if (AjaxRendererUtils.isAjaxRequest(facesContext) &&
this.getSwitchType().equals(AJAX_METHOD)) {
- AjaxRendererUtils.addRegionByName(facesContext, this, this.getId());
+ if (AjaxRendererUtils.isAjaxRequest(facesContext)
+ && this.getSwitchType().equals(AJAX_METHOD)) {
+
+ AjaxRendererUtils.addRegionByName(facesContext, this, this.getId());
+
}
}
} else /* component should throw IllegalArgumentException for unknown events - RF-30 */
{
Modified: trunk/samples/togglePanel-sample/src/main/java/org/richfaces/Bean.java
===================================================================
--- trunk/samples/togglePanel-sample/src/main/java/org/richfaces/Bean.java 2009-03-05
17:31:24 UTC (rev 12847)
+++ trunk/samples/togglePanel-sample/src/main/java/org/richfaces/Bean.java 2009-03-05
18:01:37 UTC (rev 12848)
@@ -21,8 +21,11 @@
package org.richfaces;
+import java.util.Date;
import java.util.Random;
+import javax.faces.event.ActionEvent;
+
/**
* @author $Autor$
*
@@ -39,10 +42,17 @@
private String beanState = "";
//private String[] stateOrders =
{"blank","canon","nikon","olympus"};
+ private String first = "";
+ private String second = "";
public String getBeanState() {
return "Last toggle panel options: SwitchType="+getSwitchType()+";
initialState="+getInitialState()+"; stateOrder="+getStateOrder();
}
+
+ public void action(ActionEvent event) {
+ System.out.println(" >>> cfif action");
+ }
+
public void setBeanState(String beanState) {
this.beanState = beanState;
}
@@ -88,5 +98,16 @@
public void setTextValue1(String textValue1) {
this.textValue1 = textValue1;
}
-
+ public String getFirst() {
+ return first + " -" + second + "- time=" + new Date();
+ }
+ public void setFirst(String first) {
+ this.first = first;
+ }
+ public String getSecond() {
+ return first + " -" + second + "- time=" + new Date();
+ }
+ public void setSecond(String second) {
+ this.second = second;
+ }
}
\ No newline at end of file
Added: trunk/samples/togglePanel-sample/src/main/webapp/pages/rf6451.jsp
===================================================================
--- trunk/samples/togglePanel-sample/src/main/webapp/pages/rf6451.jsp
(rev 0)
+++ trunk/samples/togglePanel-sample/src/main/webapp/pages/rf6451.jsp 2009-03-05 18:01:37
UTC (rev 12848)
@@ -0,0 +1,88 @@
+<%@ taglib
uri="http://java.sun.com/jsf/html" prefix="h"%>
+<%@ taglib
uri="http://java.sun.com/jsf/core" prefix="f"%>
+
+<%@ taglib
uri="http://richfaces.org/a4j" prefix="a4j"%>
+
+<%@ taglib
uri="http://labs.jboss.com/jbossrichfaces/ui/togglePanel"
prefix="rich"%>
+<%@ taglib
uri="http://labs.jboss.com/jbossrichfaces/ui/panel"
prefix="panel"%>
+<html>
+ <head>
+ <title></title>
+ </head>
+<body>
+<f:view>
+
+ <h:form>
+ <h:selectOneRadio binding="#{skinBean.component}" />
+ <h:commandLink action="#{skinBean.change}" value="set
skin" />
+ </h:form>
+
+ <h:outputText value="Simple richfaces togglePanel and toggleControl test web
application." style="font: 18px;font-weight: bold;" />
+
+ <h:form id="togglePanel_form">
+ <rich:togglePanel id="panel2" switchType="ajax"
initialState="blank" stateOrder="blank,nikon">
+ <f:facet name="blank">
+ <panel:panel>
+ <f:facet name="header">
+ <h:panelGroup>
+ <h:outputText value="#{bean.nikon}"
style="font-weight: bold;" />
+ <rich:toggleControl id="toggleControl_nikon"
for="togglePanel_form:panel2"
+ ajaxSingle="true" process="my_first"
actionListener="#{bean.action}">
+
+ <h:graphicImage url="/images/expand.gif"
style="border-width: 0px;" />
+ <h:outputText value="#{bean.textValue1}"
style="font-weight: bold;" />
+ </rich:toggleControl>
+ </h:panelGroup>
+ </f:facet>
+ </panel:panel>
+ </f:facet>
+
+ <f:facet name="nikon">
+ <panel:panel>
+ <f:facet name="header">
+ <h:panelGroup>
+ <h:outputText value="#{bean.nikon}"
style="font-weight: bold;" />
+ <rich:toggleControl id="toggleControl_nikon_b"
for="togglePanel_form:panel2"
+ ajaxSingle="true" process="my_first"
actionListener="#{bean.action}">
+
+ <h:graphicImage value="/images/collapse.gif"
style="border-width: 0px;" />
+ <h:outputText value="#{bean.textValue1}"
style="font-weight: bold;" />
+ </rich:toggleControl>
+ </h:panelGroup>
+ </f:facet>
+ <h:panelGrid columns="2" border="0"
style="width: 100%;background-color: white;">
+ <h:graphicImage url="/images/Nikon.jpg"
alt="" />
+ <h:panelGroup>
+ <h:outputText style="font: 18px;font-weight:
bold;" value="Nikon D70s" />
+ <f:verbatim>
+ <br />
+ 6.1 Megapixels - SLR / Large Digital Camera - 2 in LCD
Screen -
+ Storage: Compact Flash, Microdrive Compatible, Compact
Flash Type II - Built In Flash
+ <br />
+ Revolutionize every digital photography experience with
the Nikon D70s digital
+ camera. Designed for amateurs and professionals alike,
this Nikon digital camera
+ features a high resolution of 6.1 megapixels and a large
2.0'' LCD screen. Offering
+ i-TTL speedlight, 5-point autofocus, and lens
compatibility with AF and AF-S Nikkor
+ lenses, this digital SLR camera comes with a rechargeable
lithium-ion battery for
+ continual performance. With seven shooting modes,
including auto, portrait, night
+ portrait, landscape, night landscape, sports, and
close-up, this impressive Nikon
+ digital camera delivers professional quality results with
every use.
+ </f:verbatim>
+ </h:panelGroup>
+ </h:panelGrid>
+ </panel:panel>
+ </f:facet>
+ </rich:togglePanel>
+ <br />
+ <br />
+
+ <h:inputText value="" id="my_first"
required="true"/>
+ </h:form>
+
+ <a4j:log />
+ <f:verbatim>
+ <div id="logConsole" />
+ </f:verbatim>
+</f:view>
+</body>
+</html>
Modified:
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/toggleControl/toggleControlAutoTest.xhtml
===================================================================
---
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/toggleControl/toggleControlAutoTest.xhtml 2009-03-05
17:31:24 UTC (rev 12847)
+++
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/toggleControl/toggleControlAutoTest.xhtml 2009-03-05
18:01:37 UTC (rev 12848)
@@ -8,19 +8,17 @@
<ui:composition template="#{templateBean.autoTestTemplate}">
<ui:define name="component">
- <h:outputText id="test2" value="#{autoTestBean.text}" />
+ <h:outputText id="test2" value="#{autoTestBean.text}" />
<rich:togglePanel id="ajax_panel_one"
switchType="ajax"
stateOrder="first,second"
initialState="first" label="Ajax">
-
- <f:facet name="first">
- <h:outputText id="ajax_state_one" value="First State" />
- </f:facet>
- <f:facet name="second">
- <h:outputText id="ajax_state_two" value="Second State" />
- </f:facet>
-
+ <f:facet name="first">
+ <h:outputText id="ajax_state_one" value="First State"
/>
+ </f:facet>
+ <f:facet name="second">
+ <h:outputText id="ajax_state_two" value="Second State"
/>
+ </f:facet>
</rich:togglePanel>
<rich:toggleControl id="componentId"
@@ -68,6 +66,6 @@
<rich:toggleControl id="ajax_second_one" for="ajax_panel_one"
switchToState="second" action="#{panelBean.increment}">
<h:outputText value="Ajax second" />
</rich:toggleControl>
- </ui:define>
+ </ui:define>
</ui:composition>
</html>
\ No newline at end of file
Modified:
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/AutoTester.java
===================================================================
---
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/AutoTester.java 2009-03-05
17:31:24 UTC (rev 12847)
+++
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/AutoTester.java 2009-03-05
18:01:37 UTC (rev 12848)
@@ -143,19 +143,6 @@
checkActionListener(false);
checkUpdateModel(false);
}
-
- public void testAjaxSingle() {
- reset();
- setupControl(TestSetupEntry.ajaxSingle, Boolean.TRUE);
- clickLoad();
-
- setExtrenalValidationFailed();
- base.sendAjax();
-
- checkActionListener(true);
- checkUpdateModel(false);
-
- }
public void testAjaxSingleWithProcesExternalValidation(boolean checkListener) {
reset();
@@ -166,13 +153,17 @@
setExtrenalValidationFailed();
base.sendAjax();
- if (checkListener) {
- checkActionListener(false);
- }
- checkUpdateModel(false);
+ if (checkListener) {
+ checkActionListener(false);
+ }
+ checkUpdateModel(false);
}
+ public void testAjaxSingle() {
+ testAjaxSingle(true);
+ }
+
public void testAjaxSingle(boolean checkListener) {
reset();
setupControl(TestSetupEntry.ajaxSingle, Boolean.TRUE);
@@ -184,8 +175,8 @@
if (checkListener) {
checkActionListener(true);
}
+
checkUpdateModel(false);
-
}
@@ -529,9 +520,9 @@
base.setValueById(base.getParentId() + AUTOTEST_FORM_ID + INPUT_ID,
"");
}
- private void setInternalValidationFailed() {
- base.setInternalValidationFailed();
- }
+// private void setInternalValidationFailed() {
+// base.setInternalValidationFailed();
+// }
private void setProcessInputValue() {
base.setValueById(base.getParentId() + AUTOTEST_FORM_ID + PROCESS_INPUT_ID,
String.valueOf(new Date().getTime()));
Modified:
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/ToggleControlTest.java
===================================================================
---
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/ToggleControlTest.java 2009-03-05
17:31:24 UTC (rev 12847)
+++
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/ToggleControlTest.java 2009-03-05
18:01:37 UTC (rev 12848)
@@ -96,11 +96,11 @@
tester.testAjaxSingle();
}
- //
https://jira.jboss.org/jira/browse/RF-6451
@Test
public void testAjaxSingleWithProcessExternalValidation(Template template) {
AutoTester tester = getAutoTester(this);
tester.renderPage(template, RESET_METHOD);
+
writeStatus("Test ajaxSingle attribute with external validation failed");
tester.testAjaxSingleWithProcesExternalValidation(true);
}
Modified: trunk/ui/togglePanel/src/main/java/org/richfaces/component/UIToggleControl.java
===================================================================
---
trunk/ui/togglePanel/src/main/java/org/richfaces/component/UIToggleControl.java 2009-03-05
17:31:24 UTC (rev 12847)
+++
trunk/ui/togglePanel/src/main/java/org/richfaces/component/UIToggleControl.java 2009-03-05
18:01:37 UTC (rev 12848)
@@ -37,241 +37,65 @@
/**
* @author igels
- *
+ *
*/
-//extends UIAjaxCommandLink {
-public abstract class UIToggleControl extends AjaxActionComponent implements
AjaxComponent, AjaxSource, ActionSource {
-
- public static final String COMPONENT_FAMILY = "javax.faces.Command";
-
- //private String _switchToState;
-
- //xxx by nick - denis - move to config
- //private String _panelId;
-
- //xxx by nick - denis - A4J architecture fault: AjaxActionComponent should hold all
action & immediate properties
- //private MethodBinding actionListener = null;
- //private boolean immediate = false;
- //private boolean immediateSet = false;
+public abstract class UIToggleControl extends AjaxActionComponent implements
+ AjaxComponent, AjaxSource, ActionSource {
- //xxx by nick - denis - move to config
+ public static final String COMPONENT_FAMILY = "javax.faces.Command";
-
- public abstract void setPanelId(String panelId);
+ public abstract void setPanelId(String panelId);
public abstract String getPanelId();
- public abstract void setSwitchToState(String switchToState);
+
+ public abstract void setSwitchToState(String switchToState);
public abstract String getSwitchToState();
+
public abstract String getFor();
- public abstract void setFor(String f);
-
+ public abstract void setFor(String f);
-
-
-
- public boolean getRendersChildren() {
- return true;
+ public boolean getRendersChildren() {
+ return true;
}
-
- public UITogglePanel getPanel()
- throws FacesException {
- UIComponent control=this;
- String target = ((UIToggleControl) control).getFor();
-
- if (null != target) {
-
- UIComponent targetComponent =
RendererUtils.getInstance().findComponentFor(control, target);
- if (null != targetComponent) {
- return (UITogglePanel)targetComponent;
- } else {
- throw new FacesException( "Parent panel for control (id="
- + getClientId(getFacesContext()) + ") has not been found.");
}
- } else {
-
- while((control = control.getParent())!= null) {
- if (control instanceof UITogglePanel) {
- return (UITogglePanel) control;
- }
- }
- throw new FacesException( "Parent panel for control (id=" +
getClientId(getFacesContext()) + ") has not been found.");
- }
- }
-
- //xxx by nick - denis - "for" can be relative etc. Do we really need it
here?
-// public Object getReRender(){
-// return getPanelId();
-// }
-
- //xxx by nick - denis - what do you think about setupReRender usage?
-
- @Override
- protected void setupReRender(FacesContext facesContext) {
- super.setupReRender(facesContext);
- UITogglePanel togglePanel = getPanel();
- AjaxRendererUtils.addRegionByName(facesContext, togglePanel, togglePanel.getId());
-
- }
-
- /**
- * @deprecated
- * use setupReRender(FacesContext facesContext)
- */
- @Deprecated
- protected void setupReRender() {
- FacesContext context = FacesContext.getCurrentInstance();
- setupReRender(context);
- }
-
-// public void setReRender(Object targetId) {
-// }
-
- public String getFamily() {
- return COMPONENT_FAMILY;
- }
-
-
-
- //xxx by nick - denis - remove FacesContext param when all todos will be ready
- /*
-
- public UITogglePanel getPanel(FacesContext context) {
- String panelId = getPanelId();
- UIComponent panel = null;
- if(panelId == null) {
- panel = this;
- while (panel != null && !(panel instanceof UITogglePanel)) {
- panel = panel.getParent();
- }
-
- if(panel == null) {
- //xxx by nick - denis - please replace all RuntimeException with more concrete
FacesException
- throw new FacesException("Parent panel for control (id=" +
getClientId(context) + ") has not been found.");
- }
-
- //xxx by nick - denis - remove this! you are shadowing possible "for" value
binding by such code
- setPanelId(panel.getClientId(context));
-
- } else {
- //xxxx by nick - nick - potential compatibility break?
- panel = RendererUtils.getInstance().findComponentFor(context, this, panelId);
- if(panel == null) {
- //xxx by nick - denis - please replace all RuntimeException with more concrete
FacesException
- throw new FacesException("Panel with id=" + panelId + " has not been
found.");
- }
- }
- return (UITogglePanel)panel;
- }
- */
-
- //xxx by nick - denis - unnecessary recursion was here... remove this method please
-// private UIComponent getParentPanel(UIComponent component) {
-// UIComponent parent = component.getParent();
-// if(parent == null) {
-// return null;
-// }
-// if(parent instanceof UITogglePanel) {
-// return parent;
-// }
-// return getParentPanel(parent);
-// }
-
-
-
- //xxx by nick - denis - should be removed after moving to config
-/*
- public String getFor() {
- if (getPanelId() != null) {
- return getPanelId();
- }
- ValueBinding vb = getValueBinding("for");
- if (vb != null) {
- return ((String) vb.getValue(getFacesContext()));
- } else {
- return (null);
- }
+ public UITogglePanel getPanel() throws FacesException {
+ UIComponent control = this;
+ String target = ((UIToggleControl) control).getFor();
+
+ if (null != target) {
+
+ UIComponent targetComponent = RendererUtils.getInstance()
+ .findComponentFor(control, target);
+ if (null != targetComponent) {
+ return (UITogglePanel) targetComponent;
+ } else {
+ throw new FacesException("Parent panel for control (id="
+ + getClientId(getFacesContext())
+ + ") has not been found.");
+ }
+ } else {
+
+ while ((control = control.getParent()) != null) {
+ if (control instanceof UITogglePanel) {
+ return (UITogglePanel) control;
+ }
+ }
+ throw new FacesException("Parent panel for control (id="
+ + getClientId(getFacesContext()) + ") has not been
found.");
+ }
}
-
- public void setFor(String panelId) {
- setPanelId(panelId);
+
+ @Override
+ protected void setupReRender(FacesContext facesContext) {
+ super.setupReRender(facesContext);
+ UITogglePanel togglePanel = getPanel();
+ AjaxRendererUtils.addRegionByName(facesContext, togglePanel,
+ togglePanel.getId());
+
}
-*/
-/*
- public Object saveState(FacesContext context) {
- Object values[] = new Object[7];
- values[0] = super.saveState(context);
- values[1] = getPanelId();
- values[2] = getSwitchToState();
-
- values[3] = saveAttachedState(context, actionListener);
- values[4] = immediate ? Boolean.TRUE : Boolean.FALSE;
- values[5] = immediateSet ? Boolean.TRUE : Boolean.FALSE;
- values[6] = getValue();
-
- return (values);
+
+ @Override
+ public String getFamily() {
+ return COMPONENT_FAMILY;
}
-
- public void restoreState(FacesContext context, Object state) {
- Object values[] = (Object[]) state;
- super.restoreState(context, values[0]);
- _panelId = (String) values[1];
- _switchToState = (String) values[2];
-
- actionListener = (MethodBinding) restoreAttachedState(context, values[3]);
- immediate = ((Boolean) values[4]).booleanValue();
- immediateSet = ((Boolean) values[5]).booleanValue();
- value = values[6];
- }
-*/
-
-/*
- public String getSwitchTo() {
- return getSwitchToState();
- }
-
- public void setSwitchTo(String state) {
- setSwitchToState(state);
- }
-*/
-
-//xxxx by nick - denis - don't we have action?
-// public MethodBinding getAction() {
-// return null;
-// }
-
-// public void setAction(MethodBinding action) {
-//
-// }
-
-/*
- public MethodBinding getActionListener() {
- return this.actionListener;
- }
-
- public void setActionListener(MethodBinding actionListener) {
- this.actionListener = actionListener;
- }
-*/
-
-/*
- public boolean isImmediate() {
- if (this.immediateSet) {
- return this.immediate;
- }
- ValueBinding vb = getValueBinding("immediate");
- if (vb != null) {
- return Boolean.TRUE.equals(vb.getValue(getFacesContext()));
- } else {
- return this.immediate;
- }
- }
-
- public void setImmediate(boolean immediate) {
- if (immediate != this.immediate) {
- this.immediate = immediate;
- }
- this.immediateSet = true;
- }
-*/
}
-
Modified:
trunk/ui/togglePanel/src/main/java/org/richfaces/renderkit/html/ToggleControlRenderer.java
===================================================================
---
trunk/ui/togglePanel/src/main/java/org/richfaces/renderkit/html/ToggleControlRenderer.java 2009-03-05
17:31:24 UTC (rev 12847)
+++
trunk/ui/togglePanel/src/main/java/org/richfaces/renderkit/html/ToggleControlRenderer.java 2009-03-05
18:01:37 UTC (rev 12848)
@@ -33,6 +33,7 @@
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
+import org.ajax4jsf.context.AjaxContext;
import org.ajax4jsf.event.AjaxEvent;
import org.ajax4jsf.renderkit.AjaxRendererUtils;
import org.ajax4jsf.renderkit.HeaderResourcesRendererBase;
@@ -56,15 +57,6 @@
return UIToggleControl.class;
}
-// @Override
-// protected InternetResource[] getScripts() {
-// return _scripts;
-// }
-
-// protected InternetResource[] getAdditionalScripts() {
-// return _scripts;
-// }
-
public void doDecode(FacesContext context, UIComponent component) {
super.doDecode(context, component);
ExternalContext exCtx = context.getExternalContext();
@@ -79,8 +71,15 @@
new SwitchablePanelSwitchEvent(panel, null, control).queue();
- if(UITogglePanel.AJAX_METHOD.equals(panel.getSwitchType())) {
+ if (UITogglePanel.AJAX_METHOD.equals(panel.getSwitchType())) {
new AjaxEvent(component).queue();
+
+ // add regions specified in the "reRender" attribute of toggle
+ // panel to rendered list of components
+ AjaxRendererUtils.addRegionsFromComponent(control, context);
+
+ AjaxContext.getCurrentInstance(context)
+ .addAreasToProcessFromComponent(context, control);
}
ActionEvent actionEvent = new ActionEvent(component);
@@ -91,7 +90,7 @@
public String getOnClick(FacesContext context, UIComponent component) {
UIToggleControl tgComp = (UIToggleControl)component;
UITogglePanel panel = tgComp.getPanel();
- //UITogglePanel panel = tgComp.getPanel(context);
+ //UITogglePanel panel = tgComp.getPanel(context);
//denis
String switchType = panel.getSwitchType();
StringBuffer onClick = new StringBuffer();
@@ -108,10 +107,8 @@
String panelId = panel.getClientId(context);
String switchToDivId = tgComp.getSwitchToState();
onClick.append("TogglePanelManager.toggleOnClient('")
- .append(panelId)
- .append("',")
+ .append(panelId).append("',")
.append(switchToDivId==null?"null":"'" + switchToDivId +
"'")
- .append("")
.append(");");
} else if(UITogglePanel.AJAX_METHOD.equals(switchType)) {
// Ajax
@@ -131,13 +128,11 @@
if(formId==null) {
throw new RuntimeException("toogleControl (id=\"" +
component.getClientId(context) + "\") did not find parent form.");
}
+
onClick.append("TogglePanelManager.toggleOnServer('")
- .append(formId)
- .append("','")
- .append(component.getClientId(context))
- .append("',")
+ .append(formId).append("','")
+ .append(component.getClientId(context)).append("',")
.append(tgComp.getSwitchToState()==null?"''":"'" +
tgComp.getSwitchToState() + "'")
- .append("")
.append(");");
}
return onClick.toString();
@@ -146,13 +141,4 @@
public void encodeChildren(FacesContext context, UIComponent component) throws
IOException {
super.encodeChildren(context, component);
}
-
-/*
- private String getFormId(FacesContext context,UIComponent component) {
- while (component != null && !(component instanceof UIForm)) {
- component = component.getParent();
- }
- return component != null ? component.getClientId(context) : null;
- }
-*/
}