Author: solomax
Date: Wed Jul 24 16:09:49 2013
New Revision: 1506609
URL: http://svn.apache.org/r1506609
Log:
[OPENMEETINGS-615] Select All/Read/Unread is implemented
Modified:
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.java
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=1506609&r1=1506608&r2=1506609&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 24 16:09:49 2013
@@ -93,6 +93,9 @@ public class MessagesContactsPanel exten
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>();
+ private final Set<Long> readMessages = new HashSet<Long>();
+ private final Set<Long> unreadMessages = new HashSet<Long>();
private final Button toInboxBtn = new Button("toInboxBtn");
private final Button deleteBtn = new Button("deleteBtn");
private final Button readBtn = new Button("readBtn");
@@ -162,6 +165,7 @@ public class MessagesContactsPanel exten
setDefaultFolderClass();
selectFolder(folder);
emptySelection(target);
+ selectDropDown.setModelObject(SELECT_CHOOSE);
deleteBtn.add(AttributeModifier.replace("value",
WebSession.getString(TRASH_FOLDER_ID == id ? 1256 : 1245)));
readBtn.setEnabled(false);
unreadBtn.setEnabled(false);
@@ -169,7 +173,7 @@ public class MessagesContactsPanel exten
unread.setDefaultModelObject(getBean(PrivateMessagesDao.class).count(getUserId(),
id > 0 ? id : null, false, TRASH_FOLDER_ID == id));
if (target != null) {
updateTable(target);
- target.add(folders, unread);
+ target.add(folders, unread, selectDropDown);
target.add(dataContainer.container,
dataContainer.navigator);
target.add(dataContainer.orderLinks);
}
@@ -301,6 +305,9 @@ public class MessagesContactsPanel exten
@Override
public Iterator<? extends PrivateMessage> iterator(long
first, long count) {
//FIXME need to be refactored + sort + search
+ allMessages.clear();
+ readMessages.clear();
+ unreadMessages.clear();
long folder = selectedModel.getObject();
String sort = getSort() == null ? "" : "c." +
getSort().getProperty();
boolean isAsc = getSort() == null ? true :
getSort().isAscending();
@@ -338,6 +345,12 @@ public class MessagesContactsPanel exten
protected void populateItem(Item<PrivateMessage> item) {
PrivateMessage m = item.getModelObject();
final long id = m.getPrivateMessageId();
+ allMessages.add(id);
+ if (m.getIsRead()) {
+ readMessages.add(id);
+ } else {
+ unreadMessages.add(id);
+ }
item.add(new Label("id",
m.getPrivateMessageId()));
item.add(new Label("from",
getDisplayName(m.getFrom())));
item.add(new Label("subject", m.getSubject()));
@@ -434,14 +447,22 @@ public class MessagesContactsPanel exten
case SELECT_CHOOSE:
break;
case SELECT_ALL:
+ selectedMessages.clear();
+
selectedMessages.addAll(allMessages);
break;
case SELECT_NONE:
+ selectedMessages.clear();
break;
case SELECT_UNREAD:
+ selectedMessages.clear();
+
selectedMessages.addAll(unreadMessages);
break;
case SELECT_READ:
+ selectedMessages.clear();
+
selectedMessages.addAll(readMessages);
break;
}
+ target.add(container);
}
}));