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/07/19 04:27:05 UTC

svn commit: r1504749 - /openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.java

Author: solomax
Date: Fri Jul 19 02:27:05 2013
New Revision: 1504749

URL: http://svn.apache.org/r1504749
Log:
[OPENMEETINGS-615] select dropdown is partially 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=1504749&r1=1504748&r2=1504749&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 Fri Jul 19 02:27:05 2013
@@ -42,10 +42,15 @@ import org.apache.openmeetings.web.data.
 import org.apache.openmeetings.web.data.OmOrderByBorder;
 import org.apache.openmeetings.web.data.SearchableDataProvider;
 import org.apache.wicket.AttributeModifier;
+import org.apache.wicket.Component;
+import org.apache.wicket.ajax.AbstractDefaultAjaxBehavior;
 import org.apache.wicket.ajax.AjaxEventBehavior;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.attributes.AjaxRequestAttributes;
+import org.apache.wicket.ajax.form.OnChangeAjaxBehavior;
 import org.apache.wicket.behavior.AttributeAppender;
+import org.apache.wicket.markup.head.IHeaderResponse;
+import org.apache.wicket.markup.head.OnDomReadyHeaderItem;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.html.form.Button;
@@ -67,6 +72,11 @@ import com.googlecode.wicket.jquery.ui.w
 
 public class MessagesContactsPanel extends UserPanel {
 	private static final long serialVersionUID = 8098087441571734957L;
+	private final static int SELECT_CHOOSE = 1252;
+	private final static int SELECT_ALL = 1239;
+	private final static int SELECT_NONE = 1240;
+	private final static int SELECT_UNREAD = 1241;
+	private final static int SELECT_READ = 1242;
 	private final WebMarkupContainer container = new WebMarkupContainer("container");
 	private final WebMarkupContainer folders = new WebMarkupContainer("folders");
 	private final Label unread = new Label("unread", Model.of(0L));
@@ -88,17 +98,20 @@ public class MessagesContactsPanel exten
 	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 final DropDownChoice<Integer> selectDropDown = new DropDownChoice<Integer>(
+		"msgSelect", Model.of(SELECT_CHOOSE)
+		, Arrays.asList(SELECT_CHOOSE, SELECT_ALL, SELECT_NONE, SELECT_UNREAD, SELECT_READ)
+		, new IChoiceRenderer<Integer>() {
+			private static final long serialVersionUID = 1L;
+	
+			public Object getDisplayValue(Integer object) {
+				return WebSession.getString(object);
+			}
+			
+			public String getIdValue(Integer object, int index) {
+				return "" + object;
+			}
+		});
 	
 	private void setDefaultFolderClass() {
 		inbox.add(AttributeAppender.replace("class", "email inbox clickable"));
@@ -372,7 +385,6 @@ public class MessagesContactsPanel exten
 		add(dataContainer.orderLinks);
 		add(navigator);
 		
-		selectFolder(inbox, INBOX_FOLDER_ID, null);
 		add(unread.setOutputMarkupId(true));
 		add(new WebMarkupContainer("pendingContacts"));//FIXME
 		add(new WebMarkupContainer("na1"));//FIXME
@@ -413,12 +425,47 @@ public class MessagesContactsPanel exten
 					target.add(container);
 				}
 			}));
-		buttons.add(selectDropDown.setOutputMarkupId(true));
+		buttons.add(selectDropDown.setOutputMarkupId(true).add(new OnChangeAjaxBehavior() {
+			private static final long serialVersionUID = 1L;
+
+			@Override
+			protected void onUpdate(AjaxRequestTarget target) {
+				switch (selectDropDown.getModelObject()) {
+					case SELECT_CHOOSE:
+						break;
+					case SELECT_ALL:
+						break;
+					case SELECT_NONE:
+						break;
+					case SELECT_UNREAD:
+						break;
+					case SELECT_READ:
+						break;
+				}
+			}
+		}));
 		
+		selectMessage(-1, null);
 		add(container.add(dv).setOutputMarkupId(true));
 		//TODO add valid autoupdate add(new AjaxSelfUpdatingTimerBehavior(seconds(15)));
 		add(newMessage);
-		selectMessage(-1, null);
 		add(selectedMessage.setOutputMarkupId(true));
+		
+		//hack to add FixedHeaderTable after Tabs.
+		add(new AbstractDefaultAjaxBehavior() {
+			private static final long serialVersionUID = 1L;
+
+			@Override
+			protected void respond(AjaxRequestTarget target) {
+				selectFolder(inbox, INBOX_FOLDER_ID, target);
+				selectMessage(-1, target);
+			}
+			
+			@Override
+			public void renderHead(Component component, IHeaderResponse response) {
+				super.renderHead(component, response);
+				response.render(OnDomReadyHeaderItem.forScript(getCallbackScript()));
+			}
+		});
 	}
 }