1 33 34 package com.icesoft.faces.component.ext.renderkit; 35 36 import com.icesoft.faces.component.IceExtended; 37 import com.icesoft.faces.component.ext.HtmlInputSecret; 38 import com.icesoft.faces.component.ext.KeyEvent; 39 import com.icesoft.faces.component.ext.taglib.Util; 40 import com.icesoft.faces.component.menubar.MenuItem; 41 import com.icesoft.faces.context.DOMContext; 42 import com.icesoft.faces.renderkit.dom_html_basic.PassThruAttributeRenderer; 43 44 import org.w3c.dom.Element ; 45 46 import javax.faces.component.UIComponent; 47 import javax.faces.component.UIInput; 48 import javax.faces.context.FacesContext; 49 import javax.faces.event.ActionEvent; 50 51 import java.io.IOException ; 52 import java.util.HashSet ; 53 import java.util.Map ; 54 55 public class SecretRenderer 56 extends com.icesoft.faces.renderkit.dom_html_basic.SecretRenderer { 57 58 59 protected void addJavaScript(FacesContext facesContext, 60 UIComponent uiComponent, Element root, 61 HashSet excludes) { 62 63 excludes.add("onkeypress"); 65 excludes.add("onfocus"); 66 excludes.add("onblur"); 67 68 String onkeypress = ((HtmlInputSecret)uiComponent).getOnkeypress() != null ? ((HtmlInputSecret)uiComponent).getOnkeypress() : ""; 69 String onfocus = ((HtmlInputSecret)uiComponent).getOnfocus() != null ? ((HtmlInputSecret)uiComponent).getOnfocus() : ""; 70 String onblur = ((HtmlInputSecret)uiComponent).getOnblur() != null ? ((HtmlInputSecret)uiComponent).getOnblur() : ""; 71 72 root.setAttribute("onkeypress", onkeypress + this.ICESUBMIT); 74 root.setAttribute("onfocus", onfocus + "setFocus(this.id);"); 76 root.setAttribute("onblur", onblur + "setFocus('');"); 78 79 if (((IceExtended) uiComponent).getPartialSubmit()) { 80 root.setAttribute("onblur", onblur + "setFocus('');" + 81 "iceSubmitPartial(form,this,event); return false;"); 82 } 83 84 } 85 86 public void decode(FacesContext facesContext, UIComponent uiComponent) { 87 HtmlInputSecret inputSecret = (HtmlInputSecret)uiComponent; 88 Map requestParameterMap = 90 facesContext.getExternalContext().getRequestParameterMap(); 91 String partial = "partial"; 92 boolean test = Boolean.valueOf( 93 (String ) requestParameterMap.get(partial)).booleanValue(); 94 if (test) { 95 if (!inputSecret.isRedisplay()) { 97 inputSecret.setRedisplay(true); 98 } 99 } 100 101 super.decode(facesContext, uiComponent); 102 if (Util.isEventSource(facesContext, uiComponent)) { 103 queueEventIfEnterKeyPressed(facesContext, uiComponent); 104 } 105 106 } 107 108 109 public void queueEventIfEnterKeyPressed(FacesContext facesContext, 110 UIComponent uiComponent) { 111 try { 112 KeyEvent keyEvent = 113 new KeyEvent(uiComponent, facesContext.getExternalContext().getRequestParameterMap()); 114 if (keyEvent.getKeyCode() == KeyEvent.CARRIAGE_RETURN) { 115 uiComponent.queueEvent(new ActionEvent(uiComponent)); 116 } 117 } catch (Exception e) { 118 e.printStackTrace(); 119 } 120 } 121 122 126 private boolean redisplayAttributeIsTrue(UIComponent uiComponent, FacesContext facesContext) { 127 if (Util.isEventSource(facesContext,uiComponent)) { 128 return true; 129 } 130 Object redisplayAttribute = 131 uiComponent.getAttributes().get("redisplay"); 132 return redisplayAttribute != null 133 && redisplayAttribute.toString().toLowerCase().equals("true"); 134 } 135 136 } | Popular Tags |