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 2013/06/04 12:24:23 UTC
svn commit: r1489371 - in /openmeetings/trunk/singlewebapp: ./
src/org/apache/openmeetings/utils/
src/org/apache/openmeetings/web/user/profile/
Author: solomax
Date: Tue Jun 4 10:24:23 2013
New Revision: 1489371
URL: http://svn.apache.org/r1489371
Log:
[OPENMEETINGS-615] Basic "new message" dialog is added (incomplete, broken)
Added:
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/MessageDialog.html
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/MessageDialog.java
Modified:
openmeetings/trunk/singlewebapp/ivy.xml
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/utils/DaoHelper.java
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.html
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.java
Modified: openmeetings/trunk/singlewebapp/ivy.xml
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/ivy.xml?rev=1489371&r1=1489370&r2=1489371&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/ivy.xml (original)
+++ openmeetings/trunk/singlewebapp/ivy.xml Tue Jun 4 10:24:23 2013
@@ -256,16 +256,16 @@
<dependency org="org.apache.wicket" name="wicket-native-websocket-tomcat" rev="0.9" conf="openmeetings->*" transitive="false">
<include type="jar" />
</dependency>
- <dependency org="com.googlecode.wicket-jquery-ui" name="wicket-jquery-ui-core" rev="6.8.0" conf="openmeetings->*" transitive="false">
+ <dependency org="com.googlecode.wicket-jquery-ui" name="wicket-jquery-ui-core" rev="6.8.1" conf="openmeetings->*" transitive="false">
<include type="jar" />
</dependency>
- <dependency org="com.googlecode.wicket-jquery-ui" name="wicket-jquery-ui" rev="6.8.0" conf="openmeetings->*" transitive="false">
+ <dependency org="com.googlecode.wicket-jquery-ui" name="wicket-jquery-ui" rev="6.8.1" conf="openmeetings->*" transitive="false">
<include type="jar" />
</dependency>
- <dependency org="com.googlecode.wicket-jquery-ui" name="wicket-jquery-ui-calendar" rev="6.8.0" conf="openmeetings->*" transitive="false">
+ <dependency org="com.googlecode.wicket-jquery-ui" name="wicket-jquery-ui-calendar" rev="6.8.1" conf="openmeetings->*" transitive="false">
<include type="jar" />
</dependency>
- <dependency org="com.googlecode.wicket-jquery-ui" name="wicket-jquery-ui-plugins" rev="6.8.0" conf="openmeetings->*" transitive="false">
+ <dependency org="com.googlecode.wicket-jquery-ui" name="wicket-jquery-ui-plugins" rev="6.8.1" conf="openmeetings->*" transitive="false">
<include type="jar" />
</dependency>
<dependency org="ro.fortsoft.wicket.dashboard" name="wicket-dashboard-core" rev="0.8" conf="openmeetings->*" transitive="false">
Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/utils/DaoHelper.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/utils/DaoHelper.java?rev=1489371&r1=1489370&r2=1489371&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/utils/DaoHelper.java (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/utils/DaoHelper.java Tue Jun 4 10:24:23 2013
@@ -25,6 +25,7 @@ public class DaoHelper {
public static String getSearchQuery(String table, String alias, String search, boolean filterDeleted, boolean count, String sort, String... fields) {
return getSearchQuery(table, alias, search, filterDeleted, count, null, sort, fields);
}
+
public static String getSearchQuery(String table, String alias, String search, boolean filterDeleted, boolean count, String additionalWhere, String sort, String... fields) {
StringBuilder sb = new StringBuilder("SELECT ");
if (count) {
Added: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/MessageDialog.html
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/MessageDialog.html?rev=1489371&view=auto
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/MessageDialog.html (added)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/MessageDialog.html Tue Jun 4 10:24:23 2013
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+<html xmlns:wicket="http://wicket.apache.org">
+<wicket:panel>
+ <form wicket:id="form">
+ <table style="width: 100%;">
+ <tr>
+ <td><wicket:ommessage key="1210"/></td>
+ <td><input type="text" wicket:id="to"/></td>
+ </tr>
+ <tr>
+ <td><wicket:ommessage key="1211"/></td>
+ <td><input type="text" wicket:id="subject"/></td>
+ </tr>
+ <tr>
+ <td colspan="2"><textarea wicket:id="message" style="width: 100%; height: 300px;"></textarea></td>
+ </tr>
+ <tr>
+ <td colspan="2"><input type="checkbox" wicket:id="room" /><label wicket:for="room"><wicket:ommessage key="1218"/></label></td>
+ </tr>
+ <tr wicket:id="roomParams">
+ <td colspan="2">
+ <table style="width: 100%">
+ <tr>
+ <td style="width: 70px;">
+ <table>
+ <tr>
+ <td><wicket:ommessage key="194"/></td>
+ <td><select wicket:id="roomType"></select></td>
+ </tr>
+ <tr>
+ <td><wicket:ommessage key="570" /></td>
+ <td><span wicket:id="start"></span></td>
+ </tr>
+ <tr>
+ <td><wicket:ommessage key="571" /></td>
+ <td><span wicket:id="end"></span></td>
+ </tr>
+ </table>
+ </td>
+ <td><div class="info-icon"></div><span style="font-style: italic;"><wicket:ommessage key="1221" /></span></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </table>
+ </form>
+</wicket:panel>
+</html>
\ No newline at end of file
Added: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/MessageDialog.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/MessageDialog.java?rev=1489371&view=auto
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/MessageDialog.java (added)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/MessageDialog.java Tue Jun 4 10:24:23 2013
@@ -0,0 +1,120 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") + you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.web.user.profile;
+
+import static org.apache.openmeetings.web.app.Application.getBean;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.apache.openmeetings.data.user.dao.UsersDao;
+import org.apache.openmeetings.persistence.beans.user.PrivateMessage;
+import org.apache.openmeetings.persistence.beans.user.User;
+import org.apache.openmeetings.web.app.WebSession;
+import org.apache.wicket.ajax.AjaxEventBehavior;
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.markup.html.WebMarkupContainer;
+import org.apache.wicket.markup.html.form.CheckBox;
+import org.apache.wicket.markup.html.form.Form;
+import org.apache.wicket.markup.html.form.TextArea;
+import org.apache.wicket.markup.html.form.TextField;
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.Model;
+
+import com.googlecode.wicket.jquery.core.renderer.ITextRenderer;
+import com.googlecode.wicket.jquery.ui.form.autocomplete.AutoCompleteTextField;
+import com.googlecode.wicket.jquery.ui.widget.dialog.AbstractFormDialog;
+import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButton;
+
+public class MessageDialog extends AbstractFormDialog<PrivateMessage> {
+ private static final long serialVersionUID = 1L;
+ private final Form<PrivateMessage> form;
+ private DialogButton send = new DialogButton(WebSession.getString(218));
+ private DialogButton cancel = new DialogButton(WebSession.getString(219));
+ private final WebMarkupContainer roomParams = new WebMarkupContainer("roomParams");
+
+ public MessageDialog(String id, IModel<PrivateMessage> model) {
+ super(id, WebSession.getString(1209), model);
+ form = new Form<PrivateMessage>("form", getModel());
+
+ form.add(new AutoCompleteTextField<User>("to", new UserTextRenderer()) {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected List<User> getChoices(String input) {
+ return getBean(UsersDao.class).get(input, 0, 10, null);
+ }
+ });
+ form.add(new TextField<String>("subject"));
+ form.add(new TextArea<String>("message"));
+ form.add(roomParams.setOutputMarkupId(true));
+ form.add(new CheckBox("room", Model.of(getModelObject().getRoom() != null)).add(new AjaxEventBehavior("click") {
+ private static final long serialVersionUID = 1L;
+ boolean val = false;
+
+ @Override
+ protected void onEvent(AjaxRequestTarget target) {
+ target.add(roomParams.setVisible(val = !val));
+ }
+ }));
+ roomParams.add(new WebMarkupContainer("roomType"));
+ roomParams.add(new WebMarkupContainer("start"));
+ roomParams.add(new WebMarkupContainer("end"));
+ add(form);
+ }
+
+ @Override
+ protected List<DialogButton> getButtons() {
+ return Arrays.asList(send, cancel);
+ }
+
+ @Override
+ protected DialogButton getSubmitButton() {
+ return send;
+ }
+
+ @Override
+ public Form<PrivateMessage> getForm() {
+ return form;
+ }
+
+ @Override
+ protected void onError(AjaxRequestTarget target) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ protected void onSubmit(AjaxRequestTarget target) {
+ // TODO Auto-generated method stub
+
+ }
+
+ private static class UserTextRenderer implements ITextRenderer<User> {
+ private static final long serialVersionUID = 1L;
+
+ public String getText(User u) {
+ return u == null ? "" : String.format("%s %s <%s>", u.getFirstname(), u.getLastname(), u.getAdresses().getEmail());
+ }
+
+ public String getText(User u, String expression) {
+ return getText(u);
+ }
+ }
+}
Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.html
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.html?rev=1489371&r1=1489370&r2=1489371&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.html (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.html Tue Jun 4 10:24:23 2013
@@ -69,5 +69,6 @@
</tr>
</table>
<div wicket:id="addFolder"></div>
+ <div wicket:id="newMessage"></div>
</wicket:panel>
</html>
Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.java?rev=1489371&r1=1489370&r2=1489371&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.java (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.java Tue Jun 4 10:24:23 2013
@@ -69,6 +69,7 @@ public class MessagesContactsPanel exten
private final WebMarkupContainer inbox = new WebMarkupContainer("inbox");
private final WebMarkupContainer sent = new WebMarkupContainer("sent");
private final WebMarkupContainer trash = new WebMarkupContainer("trash");
+ private final MessageDialog newMessage = new MessageDialog("newMessage", Model.of(new PrivateMessage()));
private void setDefaultFolderClass() {
inbox.add(AttributeAppender.replace("class", "email inbox clickable"));
@@ -126,6 +127,8 @@ public class MessagesContactsPanel exten
@Override
protected void onEvent(AjaxRequestTarget target) {
+ newMessage.setModelObject(new PrivateMessage());
+ newMessage.open(target);
}
}).add(new JQueryBehavior(".email.new", "button")));
folders.add(inbox.add(new AjaxEventBehavior("click") {
@@ -268,6 +271,6 @@ public class MessagesContactsPanel exten
add(container.add(dv).setOutputMarkupId(true));
container.add(new AjaxSelfUpdatingTimerBehavior(seconds(15)));
+ add(newMessage);
}
-
}