Author: solomax
Date: Wed Jul 17 12:40:11 2013
New Revision: 1504101
URL: http://svn.apache.org/r1504101
Log:
[OPENMEETINGS-615] Additional buttons are added
Modified:
openmeetings/trunk/singlewebapp/WebContent/openmeetings/css/theme.css
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/WebContent/openmeetings/css/theme.css
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/WebContent/openmeetings/css/theme.css?rev=1504101&r1=1504100&r2=1504101&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/WebContent/openmeetings/css/theme.css
(original)
+++ openmeetings/trunk/singlewebapp/WebContent/openmeetings/css/theme.css Wed
Jul 17 12:40:11 2013
@@ -883,3 +883,6 @@ select.messages.selector {
#messagesTable tr.unread {
font-weight: bold;
}
+.fht-tbody {
+ background-color: white;
+}
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=1504101&r1=1504100&r2=1504101&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
Wed Jul 17 12:40:11 2013
@@ -57,8 +57,9 @@
</tr>
</tbody>
</table>
- <div>
-
<select><option>[stab]select</option></select>
+ <div wicket:id="buttons">
+ <select wicket:id="msgSelect"></select>
+ <input wicket:id="toInboxBtn"
type="button" wicket:ommessage="value:1255"/>
<input wicket:id="deleteBtn"
type="button" wicket:ommessage="value:1245"/>
<input wicket:id="readBtn"
type="button" wicket:ommessage="value:1248"/>
<input wicket:id="unreadBtn"
type="button" wicket:ommessage="value:1247"/>
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=1504101&r1=1504100&r2=1504101&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
Wed Jul 17 12:40:11 2013
@@ -22,6 +22,7 @@ import static org.apache.openmeetings.we
import static org.apache.openmeetings.web.app.WebSession.getDateFormat;
import static org.apache.openmeetings.web.app.WebSession.getUserId;
+import java.util.Arrays;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
@@ -48,6 +49,8 @@ import org.apache.wicket.behavior.Attrib
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.form.Button;
+import org.apache.wicket.markup.html.form.DropDownChoice;
+import org.apache.wicket.markup.html.form.IChoiceRenderer;
import org.apache.wicket.markup.html.list.ListItem;
import org.apache.wicket.markup.html.list.ListView;
import org.apache.wicket.markup.repeater.Item;
@@ -76,12 +79,26 @@ public class MessagesContactsPanel exten
private final WebMarkupContainer sent = new WebMarkupContainer("sent");
private final WebMarkupContainer trash = new
WebMarkupContainer("trash");
private final WebMarkupContainer selectedMessage = new
WebMarkupContainer("selectedMessage");
+ private final WebMarkupContainer buttons = new
WebMarkupContainer("buttons");
private final MessageDialog newMessage;
private final DataViewContainer<PrivateMessage> dataContainer;
private final Set<Long> selectedMessages = new HashSet<Long>();
+ private final Button toInboxBtn = new Button("toInboxBtn");
private final Button deleteBtn = new Button("deleteBtn");
private final Button readBtn = new Button("readBtn");
private final Button unreadBtn = new Button("unreadBtn");
+ private final FixedHeaderTableBehavior fixedTable = new
FixedHeaderTableBehavior("#messagesTable", new Options("height", 100));
+ private final DropDownChoice<Long> selectDropDown = new
DropDownChoice<Long>("msgSelect", Model.of(1252L), Arrays.asList(1252L, 1239L,
1240L, 1241L, 1242L), new IChoiceRenderer<Long>() {
+ private static final long serialVersionUID = 1L;
+
+ public Object getDisplayValue(Long object) {
+ return WebSession.getString(object);
+ }
+
+ public String getIdValue(Long object, int index) {
+ return "" + object;
+ }
+ });
private void setDefaultFolderClass() {
inbox.add(AttributeAppender.replace("class", "email inbox
clickable"));
@@ -100,6 +117,14 @@ public class MessagesContactsPanel exten
}
}
+ private void updateControls(AjaxRequestTarget target) {
+ deleteBtn.setEnabled(!selectedMessages.isEmpty());
+ readBtn.setEnabled(TRASH_FOLDER_ID != selectedModel.getObject()
&& !selectedMessages.isEmpty());
+ unreadBtn.setEnabled(TRASH_FOLDER_ID !=
selectedModel.getObject() && !selectedMessages.isEmpty());
+ toInboxBtn.setVisible(INBOX_FOLDER_ID !=
selectedModel.getObject() && SENT_FOLDER_ID != selectedModel.getObject() &&
!selectedMessages.isEmpty());
+ target.add(buttons);
+ }
+
private void selectMessage(long id, AjaxRequestTarget target) {
PrivateMessage msg = getBean(PrivateMessagesDao.class).get(id);
selectedMessage.addOrReplace(new Label("from", msg == null ? ""
: msg.getFrom().getAdresses().getEmail()));
@@ -107,9 +132,15 @@ public class MessagesContactsPanel exten
selectedMessage.addOrReplace(new Label("subj", msg == null ? ""
: msg.getSubject()));
selectedMessage.addOrReplace(new Label("body", msg == null ? ""
: msg.getMessage()));
if (target != null) {
- target.add(selectedMessage,
deleteBtn.setEnabled(!selectedMessages.isEmpty())
- , readBtn.setEnabled(TRASH_FOLDER_ID !=
selectedModel.getObject() && !selectedMessages.isEmpty())
- , unreadBtn.setEnabled(TRASH_FOLDER_ID !=
selectedModel.getObject() && !selectedMessages.isEmpty()));
+ target.add(selectedMessage);
+ updateControls(target);
+ }
+ }
+
+ void updateTable(AjaxRequestTarget target) {
+ container.add(fixedTable);
+ if (target != null) {
+ target.add(container);
}
}
@@ -121,11 +152,11 @@ public class MessagesContactsPanel exten
deleteBtn.add(AttributeModifier.replace("value",
WebSession.getString(TRASH_FOLDER_ID == id ? 1256 : 1245)));
readBtn.setEnabled(false);
unreadBtn.setEnabled(false);
- container.add(new FixedHeaderTableBehavior("#messagesTable",
new Options("height", 100)));
//FIXME it is not working! (at least for the SENT folder)
unread.setDefaultModelObject(getBean(PrivateMessagesDao.class).count(getUserId(),
id > 0 ? id : null, false, TRASH_FOLDER_ID == id));
if (target != null) {
- target.add(folders, container, unread);
+ updateTable(target);
+ target.add(folders, unread);
target.add(dataContainer.container,
dataContainer.navigator);
target.add(dataContainer.orderLinks);
}
@@ -346,8 +377,9 @@ public class MessagesContactsPanel exten
add(new WebMarkupContainer("pendingContacts"));//FIXME
add(new WebMarkupContainer("na1"));//FIXME
-
add(deleteBtn.setOutputMarkupId(true).setEnabled(!selectedMessages.isEmpty())
- .add(new AjaxEventBehavior("click") {
+ add(buttons.setOutputMarkupId(true));
+ buttons.add(toInboxBtn);
+ buttons.add(deleteBtn.add(new AjaxEventBehavior("click") {
private static final long serialVersionUID = 1L;
@Override
@@ -361,8 +393,7 @@ public class MessagesContactsPanel exten
target.add(container);
}
}));
-
add(readBtn.setOutputMarkupId(true).setEnabled(!selectedMessages.isEmpty())
- .add(new AjaxEventBehavior("click") {
+ buttons.add(readBtn.add(new AjaxEventBehavior("click") {
private static final long serialVersionUID = 1L;
@Override
@@ -372,8 +403,7 @@ public class MessagesContactsPanel exten
target.add(container);
}
}));
-
add(unreadBtn.setOutputMarkupId(true).setEnabled(!selectedMessages.isEmpty())
- .add(new AjaxEventBehavior("click") {
+ buttons.add(unreadBtn.add(new AjaxEventBehavior("click") {
private static final long serialVersionUID = 1L;
@Override
@@ -383,6 +413,8 @@ public class MessagesContactsPanel exten
target.add(container);
}
}));
+ buttons.add(selectDropDown.setOutputMarkupId(true));
+
add(container.add(dv).setOutputMarkupId(true));
//TODO add valid autoupdate add(new
AjaxSelfUpdatingTimerBehavior(seconds(15)));
add(newMessage);