You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2015/12/02 19:52:33 UTC
svn commit: r1717669 [2/2] - in /openmeetings:
branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/
branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/
branches/3.1.x/openmeetings-db/src/main/java...
Modified: openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/PrivateMessageFolderDao.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/PrivateMessageFolderDao.java?rev=1717669&r1=1717668&r2=1717669&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/PrivateMessageFolderDao.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/PrivateMessageFolderDao.java Wed Dec 2 18:52:32 2015
@@ -66,7 +66,8 @@ public class PrivateMessageFolderDao imp
return privateMessageFolderId;
}
- public PrivateMessageFolder get(long id) {
+ @Override
+ public PrivateMessageFolder get(Long id) {
String hql = "select c from PrivateMessageFolder c where c.id = :id ";
TypedQuery<PrivateMessageFolder> query = em.createQuery(hql, PrivateMessageFolder.class);
@@ -81,12 +82,14 @@ public class PrivateMessageFolderDao imp
return folder;
}
+ @Override
public List<PrivateMessageFolder> get(int start, int count) {
return em.createQuery("SELECT c FROM PrivateMessageFolder c ORDER BY c.id", PrivateMessageFolder.class)
.setFirstResult(start).setMaxResults(count)
.getResultList();
}
+ @Override
public PrivateMessageFolder update(PrivateMessageFolder folder, Long userId) {
if (folder.getId() == 0) {
em.persist(folder);
@@ -112,21 +115,25 @@ public class PrivateMessageFolderDao imp
return null;
}
+ @Override
public void delete(PrivateMessageFolder folder, Long userId) {
folder = em.find(PrivateMessageFolder.class, folder.getId());
em.remove(folder);
}
+ @Override
public List<PrivateMessageFolder> get(String search, int start, int count, String order) {
// TODO Auto-generated method stub
return null;
}
+ @Override
public long count() {
// TODO Auto-generated method stub
return 0;
}
+ @Override
public long count(String search) {
// TODO Auto-generated method stub
return 0;
Modified: openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java?rev=1717669&r1=1717668&r2=1717669&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java Wed Dec 2 18:52:32 2015
@@ -116,6 +116,7 @@ public class UserDao implements IDataPro
return user;
}
+ @Override
public List<User> get(int first, int count) {
TypedQuery<User> q = em.createNamedQuery("getNondeletedUsers", User.class);
q.setFirstResult(first);
@@ -161,12 +162,14 @@ public class UserDao implements IDataPro
return q.getResultList();
}
+ @Override
public long count() {
// get all users
TypedQuery<Long> q = em.createNamedQuery("countNondeletedUsers", Long.class);
return q.getSingleResult();
}
+ @Override
public long count(String search) {
return count(search, false, -1);
}
@@ -202,6 +205,7 @@ public class UserDao implements IDataPro
return q.getResultList();
}
+ @Override
public User update(User u, Long userId) {
if (u.getGroupUsers() != null) {
for (GroupUser ou : u.getGroupUsers()) {
@@ -240,7 +244,8 @@ public class UserDao implements IDataPro
return u;
}
- public User get(long id) {
+ @Override
+ public User get(Long id) {
return get(id, false);
}
@@ -269,6 +274,7 @@ public class UserDao implements IDataPro
return u;
}
+ @Override
public void delete(User u, Long userId) {
if (u != null && u.getId() != null) {
for (GroupUser ou : u.getGroupUsers()){
Modified: openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/BasePanel.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/BasePanel.java?rev=1717669&r1=1717668&r2=1717669&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/BasePanel.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/BasePanel.java Wed Dec 2 18:52:32 2015
@@ -61,8 +61,16 @@ public abstract class BasePanel extends
/**
* This method should be overridden to perform necessary cleanup: remove timers etc.
*
- * @param target
+ * @param handler
*/
public void cleanup(IPartialPageRequestHandler handler) {
}
+
+ /**
+ * This method should be overridden to perform after "new message" dialog was closed.
+ *
+ * @param handler
+ */
+ public void onNewMessageClose(IPartialPageRequestHandler handler) {
+ }
}
Modified: openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/MainPage.html
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/MainPage.html?rev=1717669&r1=1717668&r2=1717669&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/MainPage.html (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/MainPage.html Wed Dec 2 18:52:32 2015
@@ -55,5 +55,7 @@
<div wicket:id="contents"><div wicket:id="child"></div></div>
<div wicket:id="chatPanel"></div>
<div wicket:id="aboutDialog"></div>
+ <div wicket:id="userInfoDialog"></div>
+ <div wicket:id="newMessageDialog"></div>
</wicket:extend>
-</html>
\ No newline at end of file
+</html>
Modified: openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/MainPage.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/MainPage.java?rev=1717669&r1=1717668&r2=1717669&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/MainPage.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/MainPage.java Wed Dec 2 18:52:32 2015
@@ -23,10 +23,13 @@ import static org.apache.openmeetings.we
import static org.apache.openmeetings.web.app.Application.getBean;
import static org.apache.openmeetings.web.app.Application.removeOnlineUser;
import static org.apache.openmeetings.web.app.WebSession.getUserId;
+import static org.apache.openmeetings.web.util.CallbackFunctionHelper.getNamedFunction;
+import static org.apache.openmeetings.web.util.CallbackFunctionHelper.getParam;
import static org.apache.openmeetings.web.util.OmUrlFragment.CHILD_ID;
import static org.apache.openmeetings.web.util.OmUrlFragment.PROFILE_EDIT;
import static org.apache.openmeetings.web.util.OmUrlFragment.PROFILE_MESSAGES;
import static org.apache.openmeetings.web.util.OmUrlFragment.getPanel;
+import static org.apache.wicket.ajax.attributes.CallbackParameter.explicit;
import java.util.ArrayList;
import java.util.List;
@@ -34,6 +37,7 @@ import java.util.List;
import org.apache.openmeetings.db.dao.basic.NavigationDao;
import org.apache.openmeetings.db.entity.basic.Naviglobal;
import org.apache.openmeetings.db.entity.basic.Navimain;
+import org.apache.openmeetings.db.entity.user.PrivateMessage;
import org.apache.openmeetings.db.util.AuthLevelUtil;
import org.apache.openmeetings.web.app.Application;
import org.apache.openmeetings.web.app.Client;
@@ -47,19 +51,27 @@ import org.apache.openmeetings.web.room.
import org.apache.openmeetings.web.room.message.RoomMessage;
import org.apache.openmeetings.web.user.AboutDialog;
import org.apache.openmeetings.web.user.ChatPanel;
+import org.apache.openmeetings.web.user.profile.MessageDialog;
+import org.apache.openmeetings.web.user.profile.UserInfoDialog;
+import org.apache.openmeetings.web.util.ContactsHelper;
import org.apache.openmeetings.web.util.OmUrlFragment;
import org.apache.wicket.Component;
import org.apache.wicket.MarkupContainer;
import org.apache.wicket.ajax.AbstractAjaxTimerBehavior;
+import org.apache.wicket.ajax.AbstractDefaultAjaxBehavior;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.AjaxLink;
import org.apache.wicket.authroles.authorization.strategies.role.annotations.AuthorizeInstantiation;
import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
import org.apache.wicket.devutils.debugbar.DebugBar;
+import org.apache.wicket.markup.head.IHeaderResponse;
+import org.apache.wicket.markup.head.JavaScriptHeaderItem;
+import org.apache.wicket.markup.head.PriorityHeaderItem;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.link.ExternalLink;
import org.apache.wicket.markup.html.panel.EmptyPanel;
+import org.apache.wicket.model.CompoundPropertyModel;
import org.apache.wicket.protocol.ws.api.WebSocketBehavior;
import org.apache.wicket.protocol.ws.api.message.ClosedMessage;
import org.apache.wicket.protocol.ws.api.message.ConnectedMessage;
@@ -70,16 +82,21 @@ import org.red5.logging.Red5LoggerFactor
import org.slf4j.Logger;
import org.wicketstuff.urlfragment.UrlFragment;
+import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButton;
+
@AuthorizeInstantiation({"Admin", "Dashboard", "Room"})
public class MainPage extends BaseInitedPage {
private static final long serialVersionUID = 1L;
private static final Logger log = Red5LoggerFactory.getLogger(MainPage.class, webAppRootKey);
+ private final static String PARAM_USER_ID = "userId";
private final MenuPanel menu;
private final WebMarkupContainer topLinks = new WebMarkupContainer("topLinks");
private final MarkupContainer contents;
private final AbstractAjaxTimerBehavior areaBehavior;
private final Component dev;
private final ChatPanel chat;
+ private final MessageDialog newMessage;
+ private final UserInfoDialog userInfo;
public MainPage(PageParameters pp) {
super();
@@ -133,6 +150,66 @@ public class MainPage extends BaseInited
topLinks.add(new ExternalLink("bug", "https://issues.apache.org/jira/browse/OPENMEETINGS"));//FIXME hardcoded
add(chat = new ChatPanel("chatPanel"));
+ add(newMessage = new MessageDialog("newMessageDialog", new CompoundPropertyModel<PrivateMessage>(new PrivateMessage())) {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected void onOpen(IPartialPageRequestHandler handler) {
+ super.onOpen(handler);
+ setDefaultModelObject(new CompoundPropertyModel<PrivateMessage>(new PrivateMessage()));
+ }
+
+ @Override
+ public void onClose(IPartialPageRequestHandler handler, DialogButton button) {
+ BasePanel bp = getCurrentPanel();
+ if (send.equals(button) && bp != null) {
+ bp.onNewMessageClose(handler);
+ }
+ }
+ });
+ add(userInfo = new UserInfoDialog("userInfoDialog", newMessage));
+ add(new AbstractDefaultAjaxBehavior() {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected void respond(AjaxRequestTarget target) {
+ userInfo.open(target, getParam(getComponent(), PARAM_USER_ID).toLong());
+ }
+
+ @Override
+ public void renderHead(Component component, IHeaderResponse response) {
+ super.renderHead(component, response);
+ response.render(new PriorityHeaderItem(JavaScriptHeaderItem.forScript(getNamedFunction("showUserInfo", this, explicit(PARAM_USER_ID)), "showUserInfo")));
+ }
+ });
+ add(new AbstractDefaultAjaxBehavior() {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected void respond(AjaxRequestTarget target) {
+ ContactsHelper.addUserToContactList(getParam(getComponent(), PARAM_USER_ID).toLong());
+ }
+
+ @Override
+ public void renderHead(Component component, IHeaderResponse response) {
+ super.renderHead(component, response);
+ response.render(new PriorityHeaderItem(JavaScriptHeaderItem.forScript(getNamedFunction("addContact", this, explicit(PARAM_USER_ID)), "addContact")));
+ }
+ });
+ add(new AbstractDefaultAjaxBehavior() {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected void respond(AjaxRequestTarget target) {
+ newMessage.reset(true).open(target, getParam(getComponent(), PARAM_USER_ID).toOptionalLong());
+ }
+
+ @Override
+ public void renderHead(Component component, IHeaderResponse response) {
+ super.renderHead(component, response);
+ response.render(new PriorityHeaderItem(JavaScriptHeaderItem.forScript(getNamedFunction("privateMessage", this, explicit(PARAM_USER_ID)), "privateMessage")));
+ }
+ });
add(new WebSocketBehavior() {
private static final long serialVersionUID = 1L;
@@ -195,12 +272,20 @@ public class MainPage extends BaseInited
updateContents(f, handler, true);
}
+ private BasePanel getCurrentPanel() {
+ Component prev = contents.get(CHILD_ID);
+ if (prev != null && prev instanceof BasePanel) {
+ return (BasePanel)prev;
+ }
+ return null;
+ }
+
public void updateContents(OmUrlFragment f, IPartialPageRequestHandler handler, boolean updateFragment) {
BasePanel panel = getPanel(f.getArea(), f.getType());
if (panel != null) {
- Component prev = contents.get(CHILD_ID);
- if (prev != null && prev instanceof BasePanel) {
- ((BasePanel)prev).cleanup(handler);
+ BasePanel prev = getCurrentPanel();
+ if (prev != null) {
+ prev.cleanup(handler);
}
handler.add(contents.replace(panel));
if (updateFragment) {
Modified: openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/StartSharingEventBehavior.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/StartSharingEventBehavior.java?rev=1717669&r1=1717668&r2=1717669&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/StartSharingEventBehavior.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/StartSharingEventBehavior.java Wed Dec 2 18:52:32 2015
@@ -29,6 +29,7 @@ import static org.apache.openmeetings.we
import static org.apache.openmeetings.web.app.WebSession.getLanguage;
import static org.apache.openmeetings.web.app.WebSession.getSid;
import static org.apache.openmeetings.web.app.WebSession.getUserId;
+import static org.apache.openmeetings.web.util.CallbackFunctionHelper.getParam;
import java.io.File;
import java.io.FileInputStream;
@@ -86,10 +87,6 @@ public class StartSharingEventBehavior e
getComponent().add(download);
}
- private String getParam(String name) {
- return getComponent().getRequest().getRequestParameters().getParameterValue(name).toString();
- }
-
@Override
protected void respond(AjaxRequestTarget target) {
//TODO deny download in case other screen sharing is in progress
@@ -101,14 +98,14 @@ public class StartSharingEventBehavior e
URL url = new URL(baseUrl);
Room room = getBean(RoomDao.class).get(roomId);
SessionManager sessionManager = getBean(SessionManager.class);
- Client rc = sessionManager.getClientByPublicSID(getParam(PARAM_PUBLIC_SID), null);//TODO not necessary
+ Client rc = sessionManager.getClientByPublicSID(getParam(getComponent(), PARAM_PUBLIC_SID).toString(), null);//TODO not necessary
String path = url.getPath();
path = path.substring(1, path.indexOf('/', 2) + 1);
- String port = getParam(PARAM_PORT);
+ String port = getParam(getComponent(), PARAM_PORT).toString();
if (Strings.isEmpty(port)) {
cfgDao.getConfValue(CONFIG_FLASH_PORT, String.class, "");
}
- String _protocol = getParam(PARAM_PROTOCOL);
+ String _protocol = getParam(getComponent(), PARAM_PROTOCOL).toString();
if (Strings.isEmpty(_protocol)) {
_protocol = cfgDao.getConfValue(CONFIG_FLASH_PROTOCOL, String.class, "");
}
Modified: openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/MessageDialog.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/MessageDialog.java?rev=1717669&r1=1717668&r2=1717669&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/MessageDialog.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/MessageDialog.java Wed Dec 2 18:52:32 2015
@@ -80,7 +80,7 @@ public class MessageDialog extends Abstr
private static final long serialVersionUID = 1L;
private final Form<PrivateMessage> form;
private final KendoFeedbackPanel feedback = new KendoFeedbackPanel("feedback", new Options("button", true));
- DialogButton send = new DialogButton("send", Application.getString(218));
+ protected DialogButton send = new DialogButton("send", Application.getString(218));
private DialogButton cancel = new DialogButton("cancel", Application.getString(219));
private final WebMarkupContainer roomParamsBlock = new WebMarkupContainer("roomParamsBlock");
private final WebMarkupContainer roomParams = new WebMarkupContainer("roomParams");
@@ -94,7 +94,7 @@ public class MessageDialog extends Abstr
return 650;
}
- public void open(IPartialPageRequestHandler handler, long userId) {
+ public void open(IPartialPageRequestHandler handler, Long userId) {
getModelObject().setTo(getBean(UserDao.class).get(userId));
open(handler);
}
Modified: openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.html
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.html?rev=1717669&r1=1717668&r2=1717669&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.html (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.html Wed Dec 2 18:52:32 2015
@@ -24,7 +24,7 @@
<table class="messages">
<tr>
<td class="side left">
- <div class="email new clickable" wicket:id="new" wicket:message="title:1208"><wicket:message key="1207"/></div>
+ <div class="email new clickable" onclick="privateMessage();" wicket:message="title:1208"><wicket:message key="1207"/></div>
<div wicket:id="folders">
<div wicket:id="inbox"><wicket:message key="1222"/></div>
<div wicket:id="sent"><wicket:message key="1223"/></div>
@@ -120,7 +120,5 @@
</tr>
</table>
<div wicket:id="addFolder"></div>
- <div wicket:id="newMessage"></div>
- <div wicket:id="infoDialog"></div>
</wicket:panel>
</html>
Modified: openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.java?rev=1717669&r1=1717668&r2=1717669&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.java Wed Dec 2 18:52:32 2015
@@ -73,7 +73,6 @@ import org.apache.wicket.markup.html.lis
import org.apache.wicket.markup.repeater.Item;
import org.apache.wicket.markup.repeater.data.DataView;
import org.apache.wicket.markup.repeater.data.IDataProvider;
-import org.apache.wicket.model.CompoundPropertyModel;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.model.util.ListModel;
@@ -81,7 +80,6 @@ import org.apache.wicket.model.util.List
import com.googlecode.wicket.jquery.core.JQueryBehavior;
import com.googlecode.wicket.jquery.core.Options;
import com.googlecode.wicket.jquery.ui.plugins.fixedheadertable.FixedHeaderTableBehavior;
-import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButton;
import ro.fortsoft.wicket.dashboard.web.util.ConfirmAjaxCallListener;
@@ -107,7 +105,6 @@ public class MessagesContactsPanel exten
private final WebMarkupContainer roomContainer = new WebMarkupContainer("roomContainer");
private final WebMarkupContainer buttons = new WebMarkupContainer("buttons");
private final WebMarkupContainer contacts = new WebMarkupContainer("contacts");
- private final MessageDialog newMessage;
private final DataViewContainer<PrivateMessage> dataContainer;
private final Set<Long> selectedMessages = new HashSet<Long>();
private final Set<Long> allMessages = new HashSet<Long>();
@@ -263,16 +260,6 @@ public class MessagesContactsPanel exten
NOT_MOVE_FOLDER.setFolderName(Application.getString(1243));
foldersModel.setObject(getBean(PrivateMessageFolderDao.class).get(0, Integer.MAX_VALUE));
updateMoveModel();
- add(newMessage = new MessageDialog("newMessage", new CompoundPropertyModel<PrivateMessage>(new PrivateMessage())) {
- private static final long serialVersionUID = 1L;
-
- @Override
- public void onClose(IPartialPageRequestHandler handler, DialogButton button) {
- if (send.equals(button)) {
- handler.add(container);
- }
- }
- });
final AddFolderDialog addFolder = new AddFolderDialog("addFolder") {
private static final long serialVersionUID = 1L;
@@ -288,14 +275,7 @@ public class MessagesContactsPanel exten
}
};
add(addFolder);
- add(new WebMarkupContainer("new").add(new AjaxEventBehavior("click") {
- private static final long serialVersionUID = 1L;
-
- @Override
- protected void onEvent(AjaxRequestTarget target) {
- newMessage.reset(true).open(target);
- }
- }).add(new JQueryBehavior(".email.new", "button")));
+ add(new JQueryBehavior(".email.new", "button"));
folders.add(inbox.add(new AjaxEventBehavior("click") {
private static final long serialVersionUID = 1L;
@@ -556,7 +536,6 @@ public class MessagesContactsPanel exten
return Model.of(object);
}
};
- final UserInfoDialog d = new UserInfoDialog("infoDialog", newMessage);
final DataView<UserContact> dw = new DataView<UserContact>("users", dp) {
private static final long serialVersionUID = 1L;
@@ -591,22 +570,8 @@ public class MessagesContactsPanel exten
updateContacts(target);
}
}).setVisible(uc.isPending()));
- item.add(new WebMarkupContainer("view").add(new AjaxEventBehavior("click") {
- private static final long serialVersionUID = 1L;
-
- @Override
- protected void onEvent(AjaxRequestTarget target) {
- d.open(target, userId);
- }
- }));
- item.add(new WebMarkupContainer("message").add(new AjaxEventBehavior("click") {
- private static final long serialVersionUID = 1L;
-
- @Override
- protected void onEvent(AjaxRequestTarget target) {
- newMessage.reset(true).open(target, userId);
- }
- }).setVisible(!uc.isPending()));
+ item.add(new WebMarkupContainer("view").add(AttributeAppender.append("onclick", String.format("showUserInfo(%s);", userId))));
+ item.add(new WebMarkupContainer("message").add(AttributeAppender.append("onclick", String.format("privateMessage(%s);", userId))).setVisible(!uc.isPending()));
item.add(new WebMarkupContainer("delete").add(new AjaxEventBehavior("click") {
private static final long serialVersionUID = 1L;
@@ -619,7 +584,7 @@ public class MessagesContactsPanel exten
}
};
updateContacts(null);
- add(d, contacts.add(dw, pendingContacts, allContacts).setOutputMarkupId(true));//TODO update
+ add(contacts.add(dw, pendingContacts, allContacts).setOutputMarkupId(true));//TODO update
//hack to add FixedHeaderTable after Tabs.
add(new AbstractDefaultAjaxBehavior() {
@@ -640,6 +605,11 @@ public class MessagesContactsPanel exten
}
@Override
+ public void onNewMessageClose(IPartialPageRequestHandler handler) {
+ handler.add(container);
+ }
+
+ @Override
protected void onDetach() {
foldersModel.detach();
selectedFolderModel.detach();
Modified: openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/UserSearchPanel.html
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/UserSearchPanel.html?rev=1717669&r1=1717668&r2=1717669&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/UserSearchPanel.html (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/UserSearchPanel.html Wed Dec 2 18:52:32 2015
@@ -32,7 +32,7 @@
<div><wicket:message key="1178"/></div>
<input type="text" wicket:id="search"/><br/>
<br/>
- <input type="submit" wicket:message="value:1176"/>
+ <button wicket:id="submit" type="button"><wicket:message key="1176"/></button>
</form>
</td>
<td valign="top">
@@ -64,7 +64,5 @@
</td>
</tr>
</table>
- <div wicket:id="infoDialog"></div>
- <div wicket:id="newMessage"></div>
</wicket:panel>
</html>
\ No newline at end of file
Modified: openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/UserSearchPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/UserSearchPanel.java?rev=1717669&r1=1717668&r2=1717669&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/UserSearchPanel.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/UserSearchPanel.java Wed Dec 2 18:52:32 2015
@@ -29,16 +29,13 @@ import java.util.List;
import org.apache.openmeetings.db.dao.user.UserContactDao;
import org.apache.openmeetings.db.dao.user.UserDao;
-import org.apache.openmeetings.db.entity.user.PrivateMessage;
import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.db.util.TimezoneUtil;
import org.apache.openmeetings.web.common.PagingNavigatorPanel;
import org.apache.openmeetings.web.common.UserPanel;
-import org.apache.openmeetings.web.util.ContactsHelper;
import org.apache.wicket.AttributeModifier;
-import org.apache.wicket.ajax.AjaxEventBehavior;
import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.ajax.form.AjaxFormSubmitBehavior;
+import org.apache.wicket.behavior.AttributeAppender;
import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
@@ -52,8 +49,8 @@ import org.apache.wicket.model.IModel;
import org.apache.wicket.model.PropertyModel;
import com.googlecode.wicket.jquery.core.Options;
+import com.googlecode.wicket.jquery.ui.form.button.AjaxButton;
import com.googlecode.wicket.jquery.ui.plugins.fixedheadertable.FixedHeaderTableBehavior;
-import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButton;
public class UserSearchPanel extends UserPanel {
private static final long serialVersionUID = 1L;
@@ -64,7 +61,6 @@ public class UserSearchPanel extends Use
private String orderBy = "u.firstname";
private boolean asc = true;
private boolean searched = false;
- private final MessageDialog newMessage;
private final WebMarkupContainer container = new WebMarkupContainer("container");
private final FixedHeaderTableBehavior fixedHeader = new FixedHeaderTableBehavior("#searchUsersTable", new Options("height", 400));
@@ -81,27 +77,17 @@ public class UserSearchPanel extends Use
add(new TextField<String>("text", new PropertyModel<String>(UserSearchPanel.this, "text")));
add(new TextField<String>("offer", new PropertyModel<String>(UserSearchPanel.this, "offer")));
add(new TextField<String>("search", new PropertyModel<String>(UserSearchPanel.this, "search")));
- add(new AjaxFormSubmitBehavior(this, "submit") {
+ add(new AjaxButton("submit") {
private static final long serialVersionUID = 1L;
@Override
- protected void onSubmit(AjaxRequestTarget target) {
+ protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
searched = true;
refresh(target);
}
});
}
});
- add(newMessage = new MessageDialog("newMessage", new CompoundPropertyModel<PrivateMessage>(new PrivateMessage())) {
- private static final long serialVersionUID = 1L;
-
- @Override
- public void onClose(IPartialPageRequestHandler handler, DialogButton button) {
- if (send.equals(button)) {
- refresh(handler);
- }
- }
- });
IDataProvider<User> dp = new IDataProvider<User>() {
private static final long serialVersionUID = 1L;
@@ -122,8 +108,7 @@ public class UserSearchPanel extends Use
}
};
- final UserInfoDialog d = new UserInfoDialog("infoDialog", newMessage);
- final DataView<User> dv = new DataView<User>("users", dp) {
+ final DataView<User> dw = new DataView<User>("users", dp) {
private static final long serialVersionUID = 1L;
@Override
@@ -136,36 +121,15 @@ public class UserSearchPanel extends Use
item.add(new Label("tz", getBean(TimezoneUtil.class).getTimeZone(u).getID()));
item.add(new Label("offer", u.getUserOffers()));
item.add(new Label("search", u.getUserSearchs()));
- item.add(new WebMarkupContainer("view").add(new AjaxEventBehavior("click") {
- private static final long serialVersionUID = 1L;
-
- @Override
- protected void onEvent(AjaxRequestTarget target) {
- d.open(target, userId);
- }
- }));
- item.add(new WebMarkupContainer("add").add(new AjaxEventBehavior("click") {
- private static final long serialVersionUID = 1L;
-
- @Override
- protected void onEvent(AjaxRequestTarget target) {
- ContactsHelper.addUserToContactList(userId);
- refresh(target);
- }
- }).setVisible(userId != getUserId() && !contactsDao.isContact(userId, getUserId())));
- item.add(new WebMarkupContainer("message").add(new AjaxEventBehavior("click") {
- private static final long serialVersionUID = 1L;
-
- @Override
- protected void onEvent(AjaxRequestTarget target) {
- newMessage.reset(true).open(target, userId);
- }
- })).setVisible(userId != getUserId());
+ item.add(new WebMarkupContainer("view").add(AttributeAppender.append("onclick", String.format("showUserInfo(%s);", userId))));
+ item.add(new WebMarkupContainer("add").setVisible(userId != getUserId() && !contactsDao.isContact(userId, getUserId()))
+ .add(AttributeAppender.append("onclick", String.format("addContact(%s);", userId))));
+ item.add(new WebMarkupContainer("message").setVisible(userId != getUserId()).add(AttributeAppender.append("onclick", String.format("privateMessage(%s);", userId))));
//item.add(new TooltipBehavior(new Options("content", "TODO:: Picture will be displayed"))); //FIXME
}
};
- add(d, container.add(dv, new PagingNavigatorPanel("navigator", dv, itemsPerPage, 100) {
+ add(container.add(dw, new PagingNavigatorPanel("navigator", dw, itemsPerPage, 100) {
private static final long serialVersionUID = 1L;
@Override
@@ -178,5 +142,9 @@ public class UserSearchPanel extends Use
private String getName(User u) {
return "" + u.getFirstname() + " " + u.getLastname() + " [" + u.getLogin() + "]"; //FIXME salutation
}
-
+
+ @Override
+ public void onNewMessageClose(IPartialPageRequestHandler handler) {
+ refresh(handler);
+ }
}
Modified: openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/CallbackFunctionHelper.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/CallbackFunctionHelper.java?rev=1717669&r1=1717668&r2=1717669&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/CallbackFunctionHelper.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/CallbackFunctionHelper.java Wed Dec 2 18:52:32 2015
@@ -16,11 +16,12 @@
*/
package org.apache.openmeetings.web.util;
+import org.apache.wicket.Component;
import org.apache.wicket.ajax.AbstractDefaultAjaxBehavior;
import org.apache.wicket.ajax.attributes.CallbackParameter;
+import org.apache.wicket.util.string.StringValue;
public class CallbackFunctionHelper {
-
public static StringBuilder getNamedFunction(String name, AbstractDefaultAjaxBehavior b, CallbackParameter... extraParameters) {
StringBuilder sb = new StringBuilder();
sb.append("function ").append(name).append("(");
@@ -41,4 +42,8 @@ public class CallbackFunctionHelper {
sb.append("}\n");
return sb;
}
+
+ public static StringValue getParam(Component cmp, String name) {
+ return cmp.getRequest().getRequestParameters().getParameterValue(name);
+ }
}