001
014
015 package com.liferay.taglib.ui;
016
017 import com.liferay.portal.kernel.util.FriendlyURLNormalizerUtil;
018 import com.liferay.portal.kernel.util.HtmlUtil;
019 import com.liferay.portal.kernel.util.JavaConstants;
020 import com.liferay.portal.kernel.util.StringPool;
021 import com.liferay.portal.kernel.util.Validator;
022 import com.liferay.portal.util.PortalUtil;
023 import com.liferay.taglib.util.IncludeTag;
024
025 import java.util.Map;
026
027 import javax.portlet.PortletResponse;
028
029 import javax.servlet.http.HttpServletRequest;
030
031
034 public class IconTag extends IncludeTag {
035
036 @Override
037 public int doStartTag() {
038 return EVAL_BODY_INCLUDE;
039 }
040
041 public void setAlt(String alt) {
042 _alt = alt;
043 }
044
045 public void setAriaRole(String ariaRole) {
046 _ariaRole = ariaRole;
047 }
048
049 public void setCssClass(String cssClass) {
050 _cssClass = cssClass;
051 }
052
053 public void setData(Map<String, Object> data) {
054 _data = data;
055 }
056
057 public void setIconCssClass(String iconCssClass) {
058 _iconCssClass = iconCssClass;
059 }
060
061 public void setId(String id) {
062 _id = id;
063 }
064
065 public void setImage(String image) {
066 _image = image;
067 }
068
069 public void setImageHover(String imageHover) {
070 _imageHover = imageHover;
071 }
072
073 public void setLabel(boolean label) {
074 _label = label;
075 }
076
077 public void setLang(String lang) {
078 _lang = lang;
079 }
080
081 public void setLinkCssClass(String linkCssClass) {
082 _linkCssClass = linkCssClass;
083 }
084
085 public void setLocalizeMessage(boolean localizeMessage) {
086 _localizeMessage = localizeMessage;
087 }
088
089 public void setMessage(String message) {
090 _message = message;
091 }
092
093 public void setMethod(String method) {
094 _method = method;
095 }
096
097 public void setOnClick(String onClick) {
098 _onClick = onClick;
099 }
100
101 public void setSrc(String src) {
102 _src = src;
103 }
104
105 public void setSrcHover(String srcHover) {
106 _srcHover = srcHover;
107 }
108
109 public void setTarget(String target) {
110 _target = target;
111 }
112
113 public void setToolTip(boolean toolTip) {
114 _toolTip = toolTip;
115 }
116
117 public void setUrl(String url) {
118 _url = url;
119 }
120
121 public void setUseDialog(boolean useDialog) {
122 _useDialog = useDialog;
123 }
124
125 @Override
126 protected void cleanUp() {
127 _alt = null;
128 _ariaRole = null;
129 _cssClass = null;
130 _data = null;
131 _iconCssClass = null;
132 _id = null;
133 _image = null;
134 _imageHover = null;
135 _label = false;
136 _lang = null;
137 _linkCssClass = null;
138 _localizeMessage = true;
139 _message = null;
140 _method = null;
141 _onClick = null;
142 _src = null;
143 _srcHover = null;
144 _target = null;
145 _toolTip = false;
146 _url = null;
147 _useDialog = false;
148 }
149
150 protected String getImage() {
151 return _image;
152 }
153
154 protected String getMessage() {
155 return _message;
156 }
157
158 @Override
159 protected String getPage() {
160 return _PAGE;
161 }
162
163 protected String getUrl() {
164 return _url;
165 }
166
167 @Override
168 protected boolean isCleanUpSetAttributes() {
169 return _CLEAN_UP_SET_ATTRIBUTES;
170 }
171
172 @Override
173 protected void setAttributes(HttpServletRequest request) {
174 String id = _id;
175
176 if (Validator.isNull(id)) {
177 id = (String)request.getAttribute("liferay-ui:icon-menu:id");
178
179 String message = _message;
180
181 if (Validator.isNull(message)) {
182 message = _image;
183 }
184
185 if (Validator.isNotNull(id) && Validator.isNotNull(message)) {
186 id = id.concat(StringPool.UNDERLINE).concat(
187 FriendlyURLNormalizerUtil.normalize(message));
188
189 PortletResponse portletResponse =
190 (PortletResponse)request.getAttribute(
191 JavaConstants.JAVAX_PORTLET_RESPONSE);
192
193 String namespace = StringPool.BLANK;
194
195 if (portletResponse != null) {
196 namespace = portletResponse.getNamespace();
197 }
198
199 id = PortalUtil.getUniqueElementId(
200 getOriginalServletRequest(), namespace, id);
201 }
202 else {
203 id = PortalUtil.generateRandomKey(
204 request, IconTag.class.getName());
205 }
206
207 id = HtmlUtil.getAUICompatibleId(id);
208 }
209
210 request.setAttribute("liferay-ui:icon:alt", _alt);
211 request.setAttribute("liferay-ui:icon:ariaRole", _ariaRole);
212 request.setAttribute("liferay-ui:icon:cssClass", _cssClass);
213 request.setAttribute("liferay-ui:icon:data", _data);
214 request.setAttribute("liferay-ui:icon:iconCssClass", _iconCssClass);
215 request.setAttribute("liferay-ui:icon:id", id);
216 request.setAttribute("liferay-ui:icon:image", _image);
217 request.setAttribute("liferay-ui:icon:imageHover", _imageHover);
218 request.setAttribute("liferay-ui:icon:label", String.valueOf(_label));
219 request.setAttribute("liferay-ui:icon:lang", _lang);
220 request.setAttribute("liferay-ui:icon:linkCssClass", _linkCssClass);
221 request.setAttribute(
222 "liferay-ui:icon:localizeMessage",
223 String.valueOf(_localizeMessage));
224 request.setAttribute("liferay-ui:icon:message", _message);
225 request.setAttribute("liferay-ui:icon:method", _method);
226 request.setAttribute("liferay-ui:icon:onClick", _onClick);
227 request.setAttribute("liferay-ui:icon:src", _src);
228 request.setAttribute("liferay-ui:icon:srcHover", _srcHover);
229 request.setAttribute("liferay-ui:icon:target", _target);
230 request.setAttribute(
231 "liferay-ui:icon:toolTip", String.valueOf(_toolTip));
232 request.setAttribute("liferay-ui:icon:url", _url);
233 request.setAttribute(
234 "liferay-ui:icon:useDialog", String.valueOf(_useDialog));
235 }
236
237 private static final boolean _CLEAN_UP_SET_ATTRIBUTES = true;
238
239 private static final String _PAGE = "/html/taglib/ui/icon/page.jsp";
240
241 private String _alt;
242 private String _ariaRole;
243 private String _cssClass;
244 private Map<String, Object> _data;
245 private String _iconCssClass;
246 private String _id;
247 private String _image;
248 private String _imageHover;
249 private boolean _label;
250 private String _lang;
251 private String _linkCssClass;
252 private boolean _localizeMessage = true;
253 private String _message;
254 private String _method;
255 private String _onClick;
256 private String _src;
257 private String _srcHover;
258 private String _target = "_self";
259 private boolean _toolTip;
260 private String _url;
261 private boolean _useDialog = false;
262
263 }