1
14
15 package com.liferay.taglib.ui;
16
17 import com.liferay.portal.kernel.servlet.PortalIncludeUtil;
18 import com.liferay.portal.kernel.util.StringPool;
19 import com.liferay.portal.kernel.util.Validator;
20 import com.liferay.util.PwdGenerator;
21
22 import javax.servlet.http.HttpServletRequest;
23 import javax.servlet.jsp.JspException;
24 import javax.servlet.jsp.tagext.BodyContent;
25 import javax.servlet.jsp.tagext.BodyTagSupport;
26
27
32 public class PanelTag extends BodyTagSupport {
33
34 public int doStartTag() {
35 HttpServletRequest request =
36 (HttpServletRequest)pageContext.getRequest();
37
38 if (Validator.isNull(_id)) {
39 _id = PwdGenerator.getPassword(PwdGenerator.KEY3, 4);
40 }
41
42 request.setAttribute("liferay-ui:panel:id", _id);
43 request.setAttribute("liferay-ui:panel:title", _title);
44 request.setAttribute(
45 "liferay-ui:panel:collapsible", String.valueOf(_collapsible));
46 request.setAttribute("liferay-ui:panel:defaultState", _defaultState);
47 request.setAttribute(
48 "liferay-ui:panel:persistState", String.valueOf(_persistState));
49 request.setAttribute(
50 "liferay-ui:panel:extended", String.valueOf(_extended));
51 request.setAttribute("liferay-ui:panel:cssClass", _cssClass);
52
53 return EVAL_BODY_BUFFERED;
54 }
55
56 public int doAfterBody() {
57 BodyContent bodyContent = getBodyContent();
58
59 _bodyContentString = bodyContent.getString();
60
61 return SKIP_BODY;
62 }
63
64 public int doEndTag() throws JspException {
65 try {
66 PortalIncludeUtil.include(pageContext, getStartPage());
67
68 pageContext.getOut().print(_bodyContentString);
69
70 PortalIncludeUtil.include(pageContext, getEndPage());
71
72 return EVAL_PAGE;
73 }
74 catch (Exception e) {
75 throw new JspException(e);
76 }
77 }
78
79 public String getStartPage() {
80 if (Validator.isNull(_startPage)) {
81 return _START_PAGE;
82 }
83 else {
84 return _startPage;
85 }
86 }
87
88 public void setStartPage(String startPage) {
89 _startPage = startPage;
90 }
91
92 public String getEndPage() {
93 if (Validator.isNull(_endPage)) {
94 return _END_PAGE;
95 }
96 else {
97 return _endPage;
98 }
99 }
100
101 public void setEndPage(String endPage) {
102 _endPage = endPage;
103 }
104
105 public void setId(String id) {
106 _id = id;
107 }
108
109 public void setTitle(String title) {
110 _title = title;
111 }
112
113 public void setCollapsible(boolean collapsible) {
114 _collapsible = collapsible;
115 }
116
117 public void setDefaultState(String defaultState) {
118 _defaultState = defaultState;
119 }
120
121 public void setPersistState(boolean persistState) {
122 _persistState = persistState;
123 }
124
125 public void setExtended(boolean extended) {
126 _extended = extended;
127 }
128
129 public void setCssClass(String cssClass) {
130 _cssClass = cssClass;
131 }
132
133 private static final String _START_PAGE = "/html/taglib/ui/panel/start.jsp";
134
135 private static final String _END_PAGE = "/html/taglib/ui/panel/end.jsp";
136
137 private String _startPage;
138 private String _endPage;
139 private String _id;
140 private String _title;
141 private boolean _collapsible = true;
142 private String _defaultState = "open";
143 private boolean _persistState = true;
144 private boolean _extended;
145 private String _cssClass = StringPool.BLANK;
146 private String _bodyContentString = StringPool.BLANK;
147
148 }