1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.myfaces.renderkit.html.ext;
20
21 import java.io.IOException;
22 import java.util.List;
23 import java.util.Map;
24
25 import javax.faces.component.UIComponent;
26 import javax.faces.component.UIInput;
27 import javax.faces.component.behavior.ClientBehavior;
28 import javax.faces.component.behavior.ClientBehaviorHolder;
29 import javax.faces.context.FacesContext;
30
31 import org.apache.myfaces.component.UserRoleUtils;
32 import org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils;
33 import org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlRendererUtils;
34 import org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlTextareaRendererBase;
35 import org.apache.myfaces.shared_tomahawk.renderkit.html.util.ResourceUtils;
36
37
38
39
40
41
42
43
44
45
46
47 public class HtmlTextareaRenderer
48 extends HtmlTextareaRendererBase
49 {
50 @Override
51 protected boolean isCommonPropertiesOptimizationEnabled(FacesContext facesContext)
52 {
53 return true;
54 }
55
56 @Override
57 protected boolean isCommonEventsOptimizationEnabled(FacesContext facesContext)
58 {
59 return true;
60 }
61
62 protected boolean isDisabled(FacesContext facesContext, UIComponent uiComponent)
63 {
64 if (!UserRoleUtils.isEnabledOnUserRole(uiComponent))
65 {
66 return true;
67 }
68 else
69 {
70 return super.isDisabled(facesContext, uiComponent);
71 }
72 }
73
74 public void encodeEnd(FacesContext facesContext, UIComponent uiComponent)
75 throws IOException
76 {
77 RendererUtils.checkParamValidity(facesContext, uiComponent, UIInput.class);
78
79 if(HtmlRendererUtils.isDisplayValueOnly(uiComponent))
80 {
81 HtmlRendererUtils.renderDisplayValueOnly(facesContext, (UIInput) uiComponent);
82 }
83 else
84 {
85 Map<String, List<ClientBehavior>> behaviors = null;
86 if (uiComponent instanceof ClientBehaviorHolder)
87 {
88 behaviors = ((ClientBehaviorHolder) uiComponent).getClientBehaviors();
89 if (!behaviors.isEmpty())
90 {
91 ResourceUtils.renderDefaultJsfJsInlineIfNecessary(facesContext, facesContext.getResponseWriter());
92 }
93 }
94
95 encodeTextArea(facesContext, uiComponent);
96 }
97 }
98
99 }