1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.rice.krad.uif.element;
17
18 import org.apache.commons.lang.StringUtils;
19 import org.kuali.rice.krad.datadictionary.parse.BeanTag;
20 import org.kuali.rice.krad.datadictionary.parse.BeanTagAttribute;
21 import org.kuali.rice.krad.datadictionary.parse.BeanTags;
22 import org.kuali.rice.krad.uif.UifConstants;
23 import org.kuali.rice.krad.uif.component.Component;
24 import org.kuali.rice.krad.uif.view.View;
25
26 import java.util.List;
27
28
29
30
31
32
33
34
35
36
37 @BeanTag(name = "viewHeader-bean", parent = "Uif-ViewHeader")
38 public class ViewHeader extends Header {
39
40 private Message areaTitleMessage;
41 private Message supportTitleMessage;
42 private Message metadataMessage;
43 private boolean sticky;
44
45
46
47
48
49
50
51 @Override
52 public void performFinalize(View view, Object model, Component parent) {
53 super.performFinalize(view, model, parent);
54
55 if (supportTitleMessage != null &&
56 view.getCurrentPage() != null && view.getCurrentPage().getHeader() != null &&
57 view.isUnifiedHeader()) {
58 Header pageHeader = view.getCurrentPage().getHeader();
59
60
61 pageHeader.addStyleClass(UifConstants.CssClasses.HIDE_HEADER_TEXT_STYLE_CLASS);
62
63 Message pageHeaderMessage = pageHeader.getRichHeaderMessage();
64
65 if (pageHeaderMessage != null && StringUtils.isBlank(supportTitleMessage.getMessageText())) {
66 pageHeaderMessage.addStyleClass(UifConstants.CssClasses.SUPPORT_TITLE_STYLE_CLASS);
67
68
69 supportTitleMessage = pageHeaderMessage;
70 } else if (StringUtils.isNotBlank(pageHeader.getHeaderText()) && StringUtils.isBlank(
71 supportTitleMessage.getMessageText())) {
72
73 supportTitleMessage.setMessageText(pageHeader.getHeaderText().trim());
74 }
75 }
76 }
77
78
79
80
81 @Override
82 public List<Component> getComponentsForLifecycle() {
83 List<Component> components = super.getComponentsForLifecycle();
84
85 components.add(areaTitleMessage);
86 components.add(supportTitleMessage);
87 components.add(metadataMessage);
88
89 return components;
90 }
91
92
93
94
95
96
97
98 @BeanTagAttribute(name = "areaTitleText")
99 public String getAreaTitleText() {
100 return areaTitleMessage.getMessageText();
101 }
102
103
104
105
106
107
108 public void setAreaTitleText(String areaTitle) {
109 areaTitleMessage.setMessageText(areaTitle);
110 }
111
112
113
114
115
116
117 @BeanTagAttribute(name = "areaTitleMessage", type = BeanTagAttribute.AttributeType.SINGLEBEAN)
118 public Message getAreaTitleMessage() {
119 return areaTitleMessage;
120 }
121
122
123
124
125
126
127 public void setAreaTitleMessage(Message areaTitleMessage) {
128 this.areaTitleMessage = areaTitleMessage;
129 }
130
131
132
133
134
135
136
137 @BeanTagAttribute(name = "supportTitleText")
138 public String getSupportTitleText() {
139 return supportTitleMessage.getMessageText();
140 }
141
142
143
144
145
146
147 public void setSupportTitleText(String supportTitle) {
148 supportTitleMessage.setMessageText(supportTitle);
149 }
150
151
152
153
154
155
156
157
158 @BeanTagAttribute(name = "supportTitleMessage", type = BeanTagAttribute.AttributeType.SINGLEBEAN)
159 public Message getSupportTitleMessage() {
160 return supportTitleMessage;
161 }
162
163
164
165
166
167
168 public void setSupportTitleMessage(Message supportTitleMessage) {
169 this.supportTitleMessage = supportTitleMessage;
170 }
171
172
173
174
175
176
177
178 @BeanTagAttribute(name = "metadataText")
179 public String getMetadataText() {
180 return metadataMessage.getMessageText();
181 }
182
183
184
185
186
187
188 public void setMetadataText(String metadataText) {
189 metadataMessage.setMessageText(metadataText);
190 }
191
192
193
194
195
196
197
198 @BeanTagAttribute(name = "metadataMessage", type = BeanTagAttribute.AttributeType.SINGLEBEAN)
199 public Message getMetadataMessage() {
200 return metadataMessage;
201 }
202
203
204
205
206
207
208 public void setMetadataMessage(Message metadataMessage) {
209 this.metadataMessage = metadataMessage;
210 }
211
212
213
214
215
216
217 @BeanTagAttribute(name = "sticky")
218 public boolean isSticky() {
219 return sticky;
220 }
221
222
223
224
225
226
227 public void setSticky(boolean sticky) {
228 this.sticky = sticky;
229 }
230 }