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.Validator;
020 import com.liferay.taglib.util.IncludeTag;
021 import com.liferay.util.PwdGenerator;
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 = PwdGenerator.getPassword(PwdGenerator.KEY3, 4);
039 }
040
041 BaseBodyTagSupport baseBodyTagSupport =
042 (BaseBodyTagSupport)findAncestorWithClass(
043 this, BaseBodyTagSupport.class);
044
045 String parentId = StringPool.BLANK;
046
047 if (baseBodyTagSupport instanceof PanelContainerTag) {
048 PanelContainerTag panelContainerTag =
049 (PanelContainerTag)baseBodyTagSupport;
050
051 parentId = panelContainerTag.getId();
052 }
053 else if (baseBodyTagSupport instanceof PanelFloatingContainerTag) {
054 PanelFloatingContainerTag panelFloatingContainerTag =
055 (PanelFloatingContainerTag)baseBodyTagSupport;
056
057 parentId = panelFloatingContainerTag.getId();
058 }
059
060 request.setAttribute("liferay-ui:panel:helpMessage", _helpMessage);
061 request.setAttribute("liferay-ui:panel:id", _id);
062 request.setAttribute("liferay-ui:panel:parentId", parentId);
063 request.setAttribute("liferay-ui:panel:title", _title);
064 request.setAttribute(
065 "liferay-ui:panel:collapsible", String.valueOf(_collapsible));
066 request.setAttribute("liferay-ui:panel:defaultState", _defaultState);
067 request.setAttribute(
068 "liferay-ui:panel:persistState", String.valueOf(_persistState));
069 request.setAttribute(
070 "liferay-ui:panel:extended", String.valueOf(_extended));
071 request.setAttribute("liferay-ui:panel:cssClass", _cssClass);
072
073 super.doStartTag();
074
075 return EVAL_BODY_INCLUDE;
076 }
077
078 public void setCollapsible(boolean collapsible) {
079 _collapsible = collapsible;
080 }
081
082 public void setCssClass(String cssClass) {
083 _cssClass = cssClass;
084 }
085
086 public void setDefaultState(String defaultState) {
087 _defaultState = defaultState;
088 }
089
090 public void setEndPage(String endPage) {
091 _endPage = endPage;
092 }
093
094 public void setExtended(boolean extended) {
095 _extended = extended;
096 }
097
098 public void setHelpMessage(String helpMessage) {
099 _helpMessage = helpMessage;
100 }
101
102 public void setId(String id) {
103 _id = id;
104 }
105
106 public void setPersistState(boolean persistState) {
107 _persistState = persistState;
108 }
109
110 public void setStartPage(String startPage) {
111 _startPage = startPage;
112 }
113
114 public void setTitle(String title) {
115 _title = title;
116 }
117
118 @Override
119 protected String getEndPage() {
120 if (Validator.isNull(_endPage)) {
121 return _END_PAGE;
122 }
123 else {
124 return _endPage;
125 }
126 }
127
128 @Override
129 protected String getStartPage() {
130 if (Validator.isNull(_startPage)) {
131 return _START_PAGE;
132 }
133 else {
134 return _startPage;
135 }
136 }
137
138 private static final String _END_PAGE = "/html/taglib/ui/panel/end.jsp";
139
140 private static final String _START_PAGE = "/html/taglib/ui/panel/start.jsp";
141
142 private boolean _collapsible = true;
143 private String _cssClass = StringPool.BLANK;
144 private String _defaultState = "open";
145 private String _endPage;
146 private boolean _extended;
147 private String _helpMessage;
148 private String _id;
149 private boolean _persistState = true;
150 private String _startPage;
151 private String _title;
152
153 }