001
014
015 package com.liferay.taglib.ui;
016
017 import com.liferay.portal.kernel.servlet.taglib.BaseBodyTagSupport;
018 import com.liferay.portal.kernel.util.StringPool;
019 import com.liferay.portal.kernel.util.StringUtil;
020 import com.liferay.portal.kernel.util.Validator;
021 import com.liferay.taglib.util.IncludeTag;
022
023 import javax.servlet.http.HttpServletRequest;
024 import javax.servlet.jsp.JspException;
025
026
030 public class PanelTag extends IncludeTag {
031
032 @Override
033 public int doStartTag() throws JspException {
034 HttpServletRequest request =
035 (HttpServletRequest)pageContext.getRequest();
036
037 if (Validator.isNull(_id)) {
038 _id = StringUtil.randomId();
039 }
040
041 if (Validator.isNull(_parentId)) {
042 BaseBodyTagSupport baseBodyTagSupport =
043 (BaseBodyTagSupport)findAncestorWithClass(
044 this, BaseBodyTagSupport.class);
045
046 if (baseBodyTagSupport instanceof PanelContainerTag) {
047 PanelContainerTag panelContainerTag =
048 (PanelContainerTag)baseBodyTagSupport;
049
050 _parentId = panelContainerTag.getId();
051 }
052 }
053
054 request.setAttribute("liferay-ui:panel:helpMessage", _helpMessage);
055 request.setAttribute("liferay-ui:panel:id", _id);
056 request.setAttribute("liferay-ui:panel:parentId", _parentId);
057 request.setAttribute("liferay-ui:panel:title", _title);
058 request.setAttribute(
059 "liferay-ui:panel:collapsible", String.valueOf(_collapsible));
060 request.setAttribute("liferay-ui:panel:defaultState", _defaultState);
061 request.setAttribute(
062 "liferay-ui:panel:persistState", String.valueOf(_persistState));
063 request.setAttribute("liferay-ui:panel:extended", _extended);
064 request.setAttribute("liferay-ui:panel:cssClass", _cssClass);
065 request.setAttribute("liferay-ui:panel:state", _state);
066
067 super.doStartTag();
068
069 return EVAL_BODY_INCLUDE;
070 }
071
072 public void setCollapsible(boolean collapsible) {
073 _collapsible = collapsible;
074 }
075
076 public void setCssClass(String cssClass) {
077 _cssClass = cssClass;
078 }
079
080 public void setDefaultState(String defaultState) {
081 _defaultState = defaultState;
082 }
083
084 public void setEndPage(String endPage) {
085 _endPage = endPage;
086 }
087
088 public void setExtended(Boolean extended) {
089 _extended = extended;
090 }
091
092 public void setHelpMessage(String helpMessage) {
093 _helpMessage = helpMessage;
094 }
095
096 public void setId(String id) {
097 _id = id;
098 }
099
100 public void setParentId(String parentId) {
101 _parentId = parentId;
102 }
103
104 public void setPersistState(boolean persistState) {
105 _persistState = persistState;
106 }
107
108 public void setStartPage(String startPage) {
109 _startPage = startPage;
110 }
111
112 public void setState(String state) {
113 _state = state;
114 }
115
116 public void setTitle(String title) {
117 _title = title;
118 }
119
120 @Override
121 protected void cleanUp() {
122 _collapsible = true;
123 _cssClass = null;
124 _defaultState = "open";
125 _endPage = null;
126 _extended = null;
127 _helpMessage = null;
128 _id = null;
129 _parentId = StringPool.BLANK;
130 _persistState = true;
131 _startPage = null;
132 _state = null;
133 _title = null;
134 }
135
136 @Override
137 protected String getEndPage() {
138 if (Validator.isNull(_endPage)) {
139 return _END_PAGE;
140 }
141 else {
142 return _endPage;
143 }
144 }
145
146 @Override
147 protected String getStartPage() {
148 if (Validator.isNull(_startPage)) {
149 return _START_PAGE;
150 }
151 else {
152 return _startPage;
153 }
154 }
155
156 private static final String _END_PAGE = "/html/taglib/ui/panel/end.jsp";
157
158 private static final String _START_PAGE = "/html/taglib/ui/panel/start.jsp";
159
160 private boolean _collapsible = true;
161 private String _cssClass;
162 private String _defaultState = "open";
163 private String _endPage;
164 private Boolean _extended;
165 private String _helpMessage;
166 private String _id;
167 private String _parentId = StringPool.BLANK;
168 private boolean _persistState = true;
169 private String _startPage;
170 private String _state;
171 private String _title;
172
173 }