UIViewPrivateMessage.java
- /***************************************************************************
- * Copyright (C) 2003-2008 eXo Platform SAS.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see<http://www.gnu.org/licenses/>.
- ***************************************************************************/
- package org.exoplatform.forum.webui.popup;
- import org.exoplatform.forum.common.webui.WebUIUtils;
- import org.exoplatform.forum.rendering.RenderHelper;
- import org.exoplatform.forum.rendering.RenderingException;
- import org.exoplatform.forum.service.ForumPrivateMessage;
- import org.exoplatform.forum.service.Post;
- import org.exoplatform.forum.service.UserProfile;
- import org.exoplatform.forum.service.Utils;
- import org.exoplatform.webui.config.annotation.ComponentConfig;
- import org.exoplatform.webui.config.annotation.EventConfig;
- import org.exoplatform.webui.core.UIContainer;
- import org.exoplatform.webui.event.Event;
- import org.exoplatform.webui.event.EventListener;
- @ComponentConfig(
- template = "app:/templates/forum/webui/popup/UIViewPrivateMessage.gtmpl",
- events = {
- @EventConfig(listeners = UIViewPrivateMessage.CloseActionListener.class)
- }
- )
- public class UIViewPrivateMessage extends UIContainer {
- private ForumPrivateMessage privateMessage;
- private UserProfile userProfile;
- RenderHelper renderHelper = new RenderHelper();
- public UIViewPrivateMessage() {
- }
- public ForumPrivateMessage getPrivateMessage() {
- return privateMessage;
- }
- public void setPrivateMessage(ForumPrivateMessage privateMessage) {
- this.privateMessage = privateMessage;
- }
- public String renderMessage(String str) throws RenderingException {
- Post post = new Post();
- post.setMessage(str);
- return renderHelper.renderPost(post);
- }
- public UserProfile getUserProfile() {
- return userProfile;
- }
- public void setUserProfile(UserProfile userProfile) {
- this.userProfile = userProfile;
- }
- public void activate() {
- }
- public void deActivate() {
- }
-
- public void reset() {
- setRendered(false);
- privateMessage = null;
- }
-
- protected boolean isListSendPrivateMessage() {
- return ((UIListPrivateMessage) getParent()).getMessageType().equals(Utils.SEND_MESSAGE) ? true : false;
- }
- protected String eventParent(String action, String id) throws Exception {
- return getParent().event(action, id);
- }
-
- static public class CloseActionListener extends EventListener<UIViewPrivateMessage> {
- public void execute(Event<UIViewPrivateMessage> event) throws Exception {
- UIViewPrivateMessage uiViewPrivateMessage = event.getSource();
- uiViewPrivateMessage.reset();
- UIListPrivateMessage container = uiViewPrivateMessage.getParent();
- WebUIUtils.addScripts("ForumUtils", "forumUtils", "forumUtils.initTooltip('" + container.getId() + "');");
- WebUIUtils.addScripts("UIForumPortlet", "forumPortlet", "forumPortlet.initConfirm('" + container.getId() + "');");
- event.getRequestContext().addUIComponentToUpdateByAjax(container);
- }
- }
- }